คำถามติดแท็ก c#

C # (ออกเสียงว่า "ดูคม") เป็นภาษาการเขียนโปรแกรมหลายกระบวนทัศน์ในระดับสูงพิมพ์แบบคงที่พัฒนาโดย Microsoft รหัส C # มักกำหนดเป้าหมายกลุ่มเครื่องมือ. NET ของ Microsoft และรันไทม์ซึ่งรวมถึง. NET Framework, .NET Core และ Xamarin เป็นต้น ใช้แท็กนี้สำหรับคำถามเกี่ยวกับโค้ดที่เขียนในข้อกำหนดทางการของ C # หรือ C #


5
จะเขียนอักขระ Unicode ไปยังคอนโซลได้อย่างไร
ฉันสงสัยว่ามันเป็นไปได้ในแอปพลิเคชั่นคอนโซลเพื่อเขียนตัวอักษรเช่นการ℃ใช้. NET เมื่อฉันพยายามเขียนตัวละครนี้คอนโซลจะแสดงเครื่องหมายคำถาม

8
LINQ เลือก Distinct ที่มีประเภท Anonymous
ดังนั้นฉันมีชุดของวัตถุ ประเภทที่แน่นอนไม่สำคัญ จากนั้นฉันต้องการแยกคู่ที่ไม่ซ้ำกันของคู่ของคุณสมบัติเฉพาะดังนั้น: myObjectCollection.Select(item=>new { Alpha = item.propOne, Bravo = item.propTwo } ).Distinct(); ดังนั้นคำถามของฉันคือ: ความแตกต่างในกรณีนี้จะใช้วัตถุเริ่มต้นเท่ากับ (ซึ่งจะไร้ประโยชน์กับฉันเนื่องจากวัตถุแต่ละชิ้นเป็นของใหม่) หรือสามารถบอกให้ทำสิ่งต่าง ๆ ได้ (ในกรณีนี้ค่าที่เท่ากันของ Alpha และ Bravo => อินสแตนซ์ที่เท่ากัน)? มีวิธีใดบ้างที่จะบรรลุผลดังกล่าวหากไม่ได้ผล

20
ลบอักขระออกจากสตริง C #
ฉันจะลบอักขระออกจากสตริงได้อย่างไร ตัวอย่างเช่น"My name @is ,Wan.;'; Wan". ฉันต้องการลบอักขระ'@', ',', '.', ';', '\''จากสตริงนั้นเพื่อให้เป็น"My name is Wan Wan"
150 c#  .net 

9
วิธีที่ง่ายที่สุดในการยิงและลืมวิธีใน C #?
ฉันเห็นใน WCF พวกเขามี[OperationContract(IsOneWay = true)]คุณลักษณะ แต่ดูเหมือนว่า WCF จะช้าและหนักเพียงแค่สร้างฟังก์ชั่นที่ไม่บล็อก โดยหลักการแล้วจะมีบางสิ่งบางอย่างเช่นสเตจโมฆะที่ไม่มีการปิดกั้นMethodFoo(){}แต่ฉันไม่คิดว่ามีอยู่จริง วิธีที่เร็วที่สุดในการสร้างการเรียกใช้เมธอดที่ไม่ใช่บล็อกใน C # คืออะไร? เช่น class Foo { static void Main() { FireAway(); //No callback, just go away Console.WriteLine("Happens immediately"); } static void FireAway() { System.Threading.Thread.Sleep(5000); Console.WriteLine("5 seconds later"); } } หมายเหตุ : ทุกคนที่อ่านสิ่งนี้ควรพิจารณาว่าพวกเขาต้องการวิธีการให้เสร็จหรือไม่ (ดู # 2 คำตอบยอดนิยม) หากวิธีการจะต้องเสร็จสิ้นในบางสถานที่เช่นแอปพลิเคชัน ASP.NET คุณจะต้องทำอะไรบางอย่างเพื่อป้องกันและรักษาเธรดให้มีชีวิตอยู่ …
150 c#  .net  nonblocking 

13
รับคุณสมบัติและค่าจากวัตถุที่ไม่รู้จัก
จากโลกของ PHP ฉันตัดสินใจเลิก C # ฉันเคยค้นหา แต่ดูเหมือนไม่สามารถหาคำตอบของวิธีการที่เทียบเท่ากับสิ่งนี้ $object = new Object(); $vars = get_class_vars(get_class($object)); foreach($vars as $var) { doSomething($object->$var); } โดยทั่วไปฉันมีรายการวัตถุ วัตถุอาจเป็นหนึ่งในสามประเภทที่แตกต่างกันและจะมีชุดของคุณสมบัติสาธารณะ ฉันต้องการที่จะได้รับรายการคุณสมบัติสำหรับวัตถุวนรอบพวกเขาแล้วเขียนออกไปยังไฟล์ ฉันคิดว่าสิ่งนี้เกี่ยวข้องกับการไตร่ตรองด้วย c # แต่มันใหม่ทั้งหมดสำหรับฉัน ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.
150 c#  reflection 

7
ความแตกต่างระดับคงที่และปิดผนึก
มีคลาสใดบ้างที่ถูกนำไปใช้ในคลาสแบบสแตติก? วิธีการ: static class ABC : Anyclass มีคลาสใดที่สามารถสืบทอดได้ทั้งในคลาสที่ปิดผนึกและคลาสคงที่? วิธีการ: static class ABC : AClass {} และ sealed class ABC : AClass {} ฉันขอผิดบ้างไหม?
150 c#  .net  oop  static  sealed 

4
ฉันจะเปิด Windows Explorer ไปยังไดเรกทอรีที่ต้องการจากภายในแอพ WPF ได้อย่างไร
ในแอปพลิเคชั่น WPF เมื่อผู้ใช้คลิกที่ปุ่มฉันต้องการเปิด Windows explorer ไปยังไดเรกทอรีหนึ่งฉันจะทำอย่างไร ฉันคาดหวังอะไรแบบนี้: Windows.OpenExplorer("c:\test");
150 c#  wpf  windows-explorer 

9
วิธีการแยกค่าส่วนหัวที่กำหนดเองในตัวจัดการข้อความ Web API?
ขณะนี้ฉันมีตัวจัดการข้อความในบริการ Web API ของฉันที่แทนที่ 'SendAsync' ดังต่อไปนี้: protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { //implementation } MyCustomIDภายในรหัสนี้ฉันจำเป็นต้องตรวจสอบที่กำหนดเองมูลค่าเพิ่มส่วนหัวคำขอชื่อ ปัญหาคือเมื่อฉันทำต่อไปนี้: if (request.Headers.Contains("MyCustomID")) //OK var id = request.Headers["MyCustomID"]; //build error - not OK ... ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: ไม่สามารถใช้การจัดทำดัชนีด้วย [] กับนิพจน์ประเภท 'System.Net.Http.Headers.HttpRequestHeaders' ฉันจะเข้าถึงส่วนหัวคำขอที่กำหนดเองเดียวผ่านอินสแตนซ์HttpRequestMessage( เอกสาร MSDN ) ที่ส่งผ่านไปยังวิธีการแทนที่ได้อย่างไร

5
หน่วยทดสอบวิธีการภายในใน VS2017 .Net Standard library
ฉันกำลังเล่นกับผู้สมัคร Release Studio 2017 ล่าสุดโดยสร้างไลบรารี. Net Standard 1.6 ฉันใช้ xUnit เพื่อทดสอบโค้ดของฉันและสงสัยว่าคุณยังสามารถทดสอบวิธีการภายในใน VS2017 ได้หรือไม่ ฉันจำได้ว่าคุณสามารถคลาส AssemblyInfo.cs บรรทัดทั้งหมดใน VS2015 ที่จะเปิดใช้งานโครงการที่ระบุเพื่อดูวิธีการภายใน [assembly:InternalsVisibleTo("MyTests")] เนื่องจากไม่มี AssemblyInfo.cs class ใน VS2017 .Net Standard project ฉันสงสัยว่าคุณยังสามารถทดสอบวิธีการภายในหน่วยได้หรือไม่?

10
จะระบุขั้นต่ำ แต่ไม่มีทศนิยมสูงสุดโดยใช้แอตทริบิวต์หมายเหตุประกอบข้อมูลช่วงได้อย่างไร
ฉันต้องการระบุว่าฟิลด์ทศนิยมของราคาจะต้อง> = 0 แต่ฉันไม่ต้องการกำหนดค่าสูงสุด นี่คือสิ่งที่ฉันมีจนถึงตอนนี้ ... ฉันไม่แน่ใจว่าวิธีการที่ถูกต้องคืออะไร [Range(typeof(decimal), "0", "??"] public decimal Price { get; set; }


4
เรียงลำดับรายการจากรหัสรายการอื่น
ฉันมีรายการที่มีตัวระบุบางอย่างเช่นนี้: List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 }; Morover ฉันมีรายการอีกรายการหนึ่ง<T>ซึ่งมีรหัสตามที่อธิบายไว้ข้างต้น List<T> docs = GetDocsFromDb(...) ฉันต้องรักษาลำดับที่เหมือนกันในทั้งสองคอลเล็กชันเพื่อให้รายการในList<T>ต้องอยู่ในตำแหน่งเดียวกันมากกว่าอันดับแรก (เนื่องจากเหตุผลในการให้คะแนนของเครื่องมือค้นหา) และกระบวนการนี้ไม่สามารถทำได้ในGetDocsFromDb()ฟังก์ชั่น หากจำเป็นก็เป็นไปได้ที่จะเปลี่ยนรายการที่สองเป็นโครงสร้างอื่น ๆ ( Dictionary<long, T>ตัวอย่าง) แต่ฉันไม่ต้องการเปลี่ยนมัน มีวิธีที่ง่ายและมีประสิทธิภาพในการทำ "ordenation ขึ้นอยู่กับบาง ID" กับ LINQ หรือไม่?
150 c#  linq  sorting  collections 

6
รายการ C # เรียงลำดับจากมากไปน้อย
ฉันต้องการที่จะได้รับรายการที่เรียงลำดับโดย 'Product.Name ในลำดับถัดลงมา คล้ายกับฟังก์ชั่นด้านล่างซึ่งเรียงลำดับรายการตามลำดับจากน้อยไปมากย้อนกลับเป็นไปได้ไหม var newList = list.OrderBy(x => x.Product.Name).ToList();
150 c#  list  sorting  sql-order-by 

8
วิธีแทรกค่าลงในพจนานุกรม C # เกี่ยวกับการสร้างอินสแตนซ์ได้อย่างไร
ไม่มีใครรู้ว่ามีวิธีที่ฉันสามารถแทรกค่าลงในพจนานุกรม C # เมื่อฉันสร้างมันได้หรือไม่ ฉันสามารถ แต่ไม่ต้องการทำ dict.Add(int, "string")สำหรับแต่ละรายการหากมีสิ่งที่มีประสิทธิภาพมากขึ้นเช่น: Dictionary<int, string>(){(0, "string"),(1,"string2"),(2,"string3")};
149 c#  dictionary 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.