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

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


5
Regex เพื่อลบทั้งหมด (ไม่ใช่ตัวเลขหรือจุด)
ฉันต้องการให้ข้อความเช่น "joe ($ 3,004.50)" ถูกกรองลงเหลือ 3004.50 แต่ regex แย่มากและไม่สามารถหาวิธีแก้ปัญหาที่เหมาะสมได้ ดังนั้นควรมีเพียงตัวเลขและจุดเท่านั้น - ทุกอย่างจะถูกกรอง ฉันใช้ C # และ VS.net 2008 framework 3.5
97 c#  regex 

3
วิธีการขยายและวัตถุแบบไดนามิก
ฉันจะสรุปปัญหาของฉันเป็นข้อมูลโค้ดต่อไปนี้ List<int> list = new List<int>() { 5, 56, 2, 4, 63, 2 }; Console.WriteLine(list.First()); โค้ดด้านบนใช้งานได้ดี ตอนนี้ฉันลองทำสิ่งต่อไปนี้แล้ว dynamic dList = list; Console.WriteLine(dList.First()); แต่ฉันได้รับ RuntimeBinderException ทำไมจึงเป็นเช่นนั้น
97 c#  dynamic  c#-4.0 

4
คุณปรับเปลี่ยนสไตล์ CSS ในโค้ดหลังไฟล์สำหรับ div ใน ASP.NET ได้อย่างไร?
ฉันกำลังพยายามแก้ไขแอตทริบิวต์สไตล์ CSS สำหรับ div ตามข้อมูลที่ได้รับจากตารางฐานข้อมูลในโค้ดด้านหลังของหน้า aspx ของฉัน ต่อไปนี้เป็นสิ่งที่ฉันพยายามทำอยู่ แต่ได้รับข้อผิดพลาด Aspx: <div id="testSpace" runat="server"> Test </div> รหัสหลัง: testSpace.Style = "display:none;" testSpace.Style("display") = "none"; ผมทำอะไรผิดหรือเปล่า?
97 c#  asp.net  css 

14
วิธีสร้างชื่อไฟล์ Windows ที่ถูกต้องจากสตริงโดยพลการ?
ฉันมีสตริงเช่น "Foo: Bar" ที่ฉันต้องการใช้เป็นชื่อไฟล์ แต่ใน Windows ไม่อนุญาตให้ใช้อักขระ ":" ในชื่อไฟล์ มีวิธีที่จะเปลี่ยน "Foo: Bar" ให้เป็น "Foo-Bar" ได้หรือไม่?
97 c#  windows  filenames 

7
C # DateTime ตอนนี้แม่นยำ
ฉันเพิ่งพบพฤติกรรมที่ไม่คาดคิดบางอย่างกับ DateTime.UtcNow ขณะทำการทดสอบหน่วย ดูเหมือนว่าเมื่อคุณเรียก DateTime.Now/UtcNow อย่างต่อเนื่องดูเหมือนว่าจะให้ค่าเดิมกลับมาเป็นช่วงเวลาที่นานกว่าที่คาดไว้แทนที่จะจับภาพทีละมิลลิวินาทีที่แม่นยำยิ่งขึ้น ฉันรู้ว่ามีคลาสนาฬิกาจับเวลาที่เหมาะกว่าสำหรับการวัดเวลาที่แม่นยำ แต่ฉันอยากรู้ว่ามีใครสามารถอธิบายพฤติกรรมนี้ใน DateTime ได้หรือไม่? มีเอกสารความแม่นยำอย่างเป็นทางการสำหรับ DateTime หรือไม่ตอนนี้ (ตัวอย่างเช่นแม่นยำภายใน 50 ms?) เหตุใด DateTime.Now จึงมีความแม่นยำน้อยกว่าที่นาฬิกา CPU ส่วนใหญ่สามารถจัดการได้ อาจจะออกแบบมาสำหรับ CPU ตัวหารร่วมที่ต่ำที่สุด? public static void Main(string[] args) { var stopwatch = new Stopwatch(); stopwatch.Start(); for (int i=0; i<1000; i++) { var now = DateTime.Now; Console.WriteLine(string.Format( "Ticks: {0}\tMilliseconds: {1}", …

6
คุณสมบัติอัตโนมัติกับ getter เท่านั้นตั้งได้เพราะอะไร?
ฉันสร้างคุณสมบัติอัตโนมัติ: public int Foo { get; } นี่คือ getter เท่านั้น แต่เมื่อฉันสร้างตัวสร้างฉันสามารถเปลี่ยนค่า: public MyClass(string name) { Foo = 5; } ทำไมถึงเป็นไปได้ทั้งๆที่เป็นแบบ get-only?
97 c#  c#-6.0 

16
C # Sortable collection ซึ่งอนุญาตให้มีคีย์ซ้ำกัน
ฉันกำลังเขียนโปรแกรมเพื่อกำหนดลำดับที่วัตถุต่างๆจะปรากฏในรายงาน ลำดับคือตำแหน่ง Y (เซลล์) บนสเปรดชีต Excel ส่วนสาธิตของโค้ดอยู่ด้านล่าง สิ่งที่ฉันต้องการทำให้สำเร็จคือการมีคอลเลกชันซึ่งจะทำให้ฉันสามารถเพิ่มวัตถุได้หลายชิ้นและฉันจะได้รับคอลเลกชันที่เรียงตามลำดับ SortedList list = new SortedList(); Header h = new Header(); h.XPos = 1; h.name = "Header_1"; list.Add(h.XPos, h); h = new Header(); h.XPos = 1; h.name = "Header_2"; list.Add(h.XPos, h); ฉันรู้ว่าสิ่งSortedListนี้จะไม่อนุญาตและฉันได้ค้นหาทางเลือกอื่น ฉันไม่ต้องการที่จะกำจัดList<KeyValuePair<int, object>>รายการที่ซ้ำกันและพยายามแล้ว ขอบคุณ.

4
วิธีตรวจสอบว่าประเภทของตัวแปรตรงกับประเภทที่เก็บไว้ในตัวแปรหรือไม่
User u = new User(); Type t = typeof(User); u is User -> returns true u is t -> compilation error ฉันจะทดสอบได้อย่างไรว่าตัวแปรบางตัวเป็นบางประเภทด้วยวิธีนี้
97 c#  reflection  types 


7
Enums และค่าคงที่ จะใช้เมื่อใด
ฉันกำลังอ่าน enums และพบว่ามันคล้ายกับการประกาศค่าคงที่ ฉันจะรู้ได้อย่างไรว่าเมื่อใดควรใช้ค่าคงที่แทนที่จะใช้ enum หรือในทางกลับกัน ข้อดีของการใช้ enums คืออะไร?

12
จะทราบได้อย่างไรว่าผู้ใช้คลิก“ X” หรือปุ่ม“ ปิด”
ใน MSDN ฉันพบCloseReason.UserClosingว่าผู้ใช้ตัดสินใจปิดแบบฟอร์ม แต่ฉันคิดว่ามันเหมือนกันสำหรับทั้งการคลิกปุ่ม X หรือคลิกปุ่มปิด แล้วฉันจะแยกความแตกต่างระหว่างสองสิ่งนี้ในรหัสของฉันได้อย่างไร ขอบคุณทุกคน
97 c#  .net  winforms 

21
การตั้งค่าเริ่มต้นของคุณสมบัติ DateTime เป็น DateTime ตอนนี้อยู่ใน System.ComponentModel ค่าเริ่มต้น Attrbute
มีใครทราบบ้างว่าฉันสามารถระบุค่าดีฟอลต์สำหรับคุณสมบัติ DateTime โดยใช้ System.ComponentModel DefaultValue Attribute ได้อย่างไร ตัวอย่างเช่นฉันลองสิ่งนี้: [DefaultValue(typeof(DateTime),DateTime.Now.ToString("yyyy-MM-dd"))] public DateTime DateCreated { get; set; } และคาดว่าค่าจะเป็นนิพจน์คงที่ นี่คือในบริบทของการใช้กับ ASP.NET Dynamic Data ฉันไม่ต้องการนั่งร้านคอลัมน์ DateCreated แต่เพียงแค่จัดหา DateTime ตอนนี้ถ้าไม่มี ฉันใช้ Entity Framework เป็นชั้นข้อมูลของฉัน ไชโย แอนดรู

5
ตัวอย่าง async / await ที่ทำให้เกิดการชะงักงัน
ฉันพบแนวทางปฏิบัติที่ดีที่สุดสำหรับการเขียนโปรแกรมแบบอะซิงโครนัสโดยใช้ c # async/ awaitคำหลัก (ฉันเพิ่งเริ่มใช้ c # 5.0) หนึ่งในคำแนะนำที่ได้รับมีดังต่อไปนี้: ความเสถียร: รู้บริบทการซิงโครไนซ์ของคุณ ... บริบทการซิงโครไนซ์บางส่วนไม่ได้ reentrant และ single-threaded ซึ่งหมายความว่าสามารถทำงานได้เพียงหน่วยเดียวในบริบทในช่วงเวลาที่กำหนด ตัวอย่างนี้คือเธรด UI ของ Windows หรือบริบทการร้องขอ ASP.NET ในบริบทการซิงโครไนซ์แบบเธรดเดี่ยวเหล่านี้คุณสามารถหยุดชะงักได้โดยง่าย หากคุณวางภารกิจจากบริบทเธรดเดียวให้รองานนั้นในบริบทรหัสรอของคุณอาจบล็อกงานเบื้องหลัง public ActionResult ActionAsync() { // DEADLOCK: this blocks on the async task var data = GetDataAsync().Result; return View(data); } private async Task<string> GetDataAsync() { …

3
การบีบอัดสตรีม GZip จากการตอบสนองของ HTTPClient
ฉันกำลังพยายามเชื่อมต่อกับ api ซึ่งส่งคืน GZip ที่เข้ารหัส JSON จากบริการ WCF (บริการ WCF ไปยังบริการ WCF) ฉันใช้HTTPClientเพื่อเชื่อมต่อกับ API และสามารถส่งคืนออบเจ็กต์ JSON เป็นสตริงได้ อย่างไรก็ตามฉันต้องสามารถจัดเก็บข้อมูลที่ส่งคืนนี้ในฐานข้อมูลและด้วยเหตุนี้ฉันจึงคิดว่าวิธีที่ดีที่สุดคือการส่งคืนและจัดเก็บออบเจ็กต์ JSON ในอาร์เรย์หรือไบต์หรือบางอย่างตามบรรทัดเหล่านั้น สิ่งที่ฉันมีปัญหาโดยเฉพาะคือการคลายการบีบอัดการเข้ารหัส GZip และได้ลองใช้ตัวอย่างต่างๆมากมาย แต่ก็ยังไม่สามารถรับได้ โค้ดด้านล่างคือวิธีที่ฉันสร้างการเชื่อมต่อและรับการตอบกลับนี่คือรหัสที่ส่งคืนสตริงจาก API public string getData(string foo) { string url = ""; HttpClient client = new HttpClient(); HttpResponseMessage response; string responseJsonContent; try { client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); response = …
97 c#  json  wcf  gzip 

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