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

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



20
วิธีการเรียงลำดับรายการ <T> ตามคุณสมบัติในวัตถุ
ฉันได้เรียนที่เรียกว่าOrderซึ่งมีคุณสมบัติเช่นOrderId, OrderDate, และQuantity Totalฉันมีรายชื่อของOrderชั้นนี้: List&lt;Order&gt; objListOrder = new List&lt;Order&gt;(); GetOrderList(objListOrder); // fill list of orders ตอนนี้ฉันต้องการเรียงลำดับรายการตามคุณสมบัติหนึ่งของOrderวัตถุเช่นฉันต้องการเรียงลำดับตามวันที่สั่งซื้อหรือรหัสสั่งซื้อ ฉันจะทำสิ่งนี้ใน C # ได้อย่างไร
1248 c#  generics  list  sorting 

5
\ d มีประสิทธิภาพน้อยกว่า [0-9]
ผมได้แสดงความคิดเห็นเมื่อวานนี้ในคำตอบที่มีคนใช้[0123456789]ในการแสดงออกปกติมากกว่าหรือ[0-9] \dฉันบอกว่ามันอาจจะมีประสิทธิภาพมากกว่าในการใช้ตัวระบุช่วงหรือตัวเลขมากกว่าชุดอักขระ ฉันตัดสินใจที่จะทดสอบในวันนี้และพบกับความประหลาดใจของฉันที่ (ใน C # regex engine อย่างน้อย) \dดูเหมือนว่าจะมีประสิทธิภาพน้อยกว่าอีกสองอันที่ดูเหมือนจะไม่แตกต่างกันมากนัก นี่คือผลการทดสอบของฉันมากกว่า 10,000 สายสุ่ม 1,000 ตัวอักษรแบบสุ่มกับ 5077 จริงประกอบด้วยตัวเลข: Regular expression \d took 00:00:00.2141226 result: 5077/10000 Regular expression [0-9] took 00:00:00.1357972 result: 5077/10000 63.42 % of first Regular expression [0123456789] took 00:00:00.1388997 result: 5077/10000 64.87 % of first มันเป็นเรื่องประหลาดใจสำหรับฉันด้วยเหตุผลสองประการ: ฉันคิดว่าช่วงจะใช้งานได้อย่างมีประสิทธิภาพมากกว่าชุด ผมไม่เข้าใจว่าทำไมเลวร้ายยิ่งกว่า\d [0-9]มี\dมากกว่าแค่การจดชวเลข[0-9]หรือไม่? …
1247 c#  regex  performance 

30
Path.Combine สำหรับ URL?
Path.Combineมีประโยชน์ แต่มีหน้าที่คล้ายกันใน. NET Framework สำหรับURLหรือไม่ ฉันกำลังหาไวยากรณ์เช่นนี้ Url.Combine("http://MyUrl.com/", "/Images/Image.jpg") ซึ่งจะกลับมา: "http://MyUrl.com/Images/Image.jpg"
1243 c#  .net  asp.net  url  path 

21
สร้างวิธีการทั่วไป จำกัด T เพื่อ Enum
ฉันกำลังสร้างฟังก์ชั่นเพื่อขยายEnum.Parseแนวคิดที่ว่า อนุญาตให้แยกวิเคราะห์ค่าเริ่มต้นในกรณีที่ไม่พบค่า Enum เป็นกรณีตาย ดังนั้นฉันจึงเขียนสิ่งต่อไปนี้: public static T GetEnumFromString&lt;T&gt;(string value, T defaultValue) where T : Enum { if (string.IsNullOrEmpty(value)) return defaultValue; foreach (T item in Enum.GetValues(typeof(T))) { if (item.ToString().ToLower().Equals(value.Trim().ToLower())) return item; } return defaultValue; } ฉันได้รับข้อผิดพลาดไม่สามารถเป็นคลาสพิเศษSystem.Enumได้ ยุติธรรมเพียงพอ แต่มีวิธีแก้ปัญหาเพื่อให้ Generic Enum หรือฉันจะต้องเลียนแบบParseฟังก์ชั่นและส่งประเภทเป็นแอตทริบิวต์ซึ่งบังคับให้ความต้องการมวยที่น่าเกลียดในรหัสของคุณ แก้ไขข้อเสนอแนะด้านล่างทั้งหมดได้รับการชื่นชมอย่างมากขอบคุณ ตั้งรกรากอยู่ที่ (ฉันออกจากลูปเพื่อรักษาความรู้สึกตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ - ฉันใช้นี่เมื่อแยกวิเคราะห์ XML) public static class …

27
JavaScriptSerializer - การทำให้เป็นอนุกรม JSON ของ enum เป็นสตริง
Наэтотвопросестьответына Stack Overflow нарусском : Сериализация enum в json ввидестроки ฉันมีคลาสที่มีenumคุณสมบัติและเมื่อซีเรียลไลซ์วัตถุที่ใช้JavaScriptSerializerผลลัพธ์ json ของฉันมีค่าจำนวนเต็มของการแจงนับมากกว่าstring"ชื่อ" ของมัน มีวิธีในการรับ enum stringใน json ของฉันโดยไม่ต้องสร้างเองJavaScriptConverterหรือไม่ อาจมีแอตทริบิวต์ที่ฉันสามารถตกแต่งenumคำจำกัดความหรือคุณสมบัติของวัตถุด้วย? ตัวอย่างเช่น: enum Gender { Male, Female } class Person { int Age { get; set; } Gender Gender { get; set; } } ผลลัพธ์ json ที่ต้องการ: { "Age": 35, "Gender": …



20
ความแตกต่างของ LINQ () ในคุณสมบัติเฉพาะ
ฉันกำลังเล่นกับ LINQ เพื่อเรียนรู้เกี่ยวกับเรื่องนี้ แต่ฉันไม่สามารถหาวิธีใช้Distinctเมื่อฉันไม่มีรายการแบบง่าย (รายการจำนวนเต็มง่าย ๆ ค่อนข้างง่ายที่จะทำนี่ไม่ใช่คำถาม) ถ้าสิ่งที่ฉันต้องการที่จะใช้ที่แตกต่างในรายชื่อของวัตถุในหนึ่งหรืออื่น ๆ อีกมากมายคุณสมบัติของวัตถุหรือไม่ ตัวอย่าง: หากวัตถุอยู่กับทรัพย์สินPerson Idฉันจะรับบุคคลทั้งหมดและใช้Distinctกับพวกเขาด้วยคุณสมบัติIdของวัตถุได้อย่างไร Person1: Id=1, Name="Test1" Person2: Id=1, Name="Test1" Person3: Id=2, Name="Test2" ฉันจะได้รับเพียงแค่Person1และได้Person3อย่างไร เป็นไปได้ไหม ถ้ามันเป็นไปไม่ได้กับ LINQ สิ่งที่จะเป็นวิธีที่ดีที่สุดในการมีรายการPersonขึ้นอยู่กับคุณสมบัติบางอย่างใน. NET 3.5
1094 c#  linq  .net-3.5  distinct 


14
การส่งคืน IENumerable <T> เทียบกับ IQueryable <T>
อะไรคือความแตกต่างระหว่างการกลับมาIQueryable&lt;T&gt;และการกลับมาIEnumerable&lt;T&gt;อีกครั้งหนึ่งจะได้รับความนิยมมากกว่าเมื่อใด IQueryable&lt;Customer&gt; custs = from c in db.Customers where c.City == "&lt;City&gt;" select c; IEnumerable&lt;Customer&gt; custs = from c in db.Customers where c.City == "&lt;City&gt;" select c;

16
ความแตกต่างระหว่าง Select และ SelectMany
ฉันได้รับการค้นหาความแตกต่างระหว่างSelectและSelectManyแต่ฉันไม่ได้รับสามารถที่จะหาคำตอบที่เหมาะสม ฉันต้องเรียนรู้ความแตกต่างเมื่อใช้ LINQ กับ SQL แต่ทั้งหมดที่ฉันพบคือตัวอย่างอาร์เรย์มาตรฐาน ใครสามารถให้ตัวอย่าง LINQ กับ SQL ได้ไหม
1072 c#  linq-to-sql  linq 

8
ฉันจะใช้การสะท้อนเพื่อเรียกใช้วิธีการทั่วไปได้อย่างไร
อะไรคือวิธีที่ดีที่สุดในการเรียกใช้เมธอดทั่วไปเมื่อไม่รู้จักพารามิเตอร์ชนิดในเวลารวบรวม แต่จะได้รับแบบไดนามิก ณ รันไทม์ ลองพิจารณาโค้ดตัวอย่างต่อไปนี้ - ภายในExample()เมธอดวิธีที่กระชับที่สุดในการเรียกGenericMethod&lt;T&gt;()ใช้โดยTypeเก็บในmyTypeตัวแปรคืออะไร? public class Sample { public void Example(string typeName) { Type myType = FindType(typeName); // What goes here to call GenericMethod&lt;T&gt;()? GenericMethod&lt;myType&gt;(); // This doesn't work // What changes to call StaticMethod&lt;T&gt;()? Sample.StaticMethod&lt;myType&gt;(); // This also doesn't work } public void GenericMethod&lt;T&gt;() { // …
1070 c#  .net  generics  reflection 

21
วิธีการใช้ 'async' และ 'รอ'
จากหนึ่งในความเข้าใจของฉันสิ่งสำคัญที่asyncและawaitทำคือการทำให้รหัสง่ายต่อการเขียนและอ่าน - แต่ใช้พวกเขาเท่ากับวางไข่หัวข้อพื้นหลังเพื่อดำเนินการตรรกะระยะเวลานาน? ฉันกำลังลองตัวอย่างพื้นฐานที่สุด ฉันได้เพิ่มความคิดเห็นบางส่วนแบบอินไลน์ คุณช่วยอธิบายให้ฉันฟังได้ไหม // I don't understand why this method must be marked as `async`. private async void button1_Click(object sender, EventArgs e) { Task&lt;int&gt; access = DoSomethingAsync(); // task independent stuff here // this line is reached after the 5 seconds sleep from // DoSomethingAsync() method. Shouldn't …

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