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

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

14
มีวิธีการในตัวเพื่อเปรียบเทียบคอลเลกชัน?
ฉันต้องการเปรียบเทียบเนื้อหาของคอลเลกชันสองสามรายการในวิธีการเท่ากับของฉัน ฉันมีพจนานุกรมและ IList มีวิธีการในการทำเช่นนี้? แก้ไข: ฉันต้องการเปรียบเทียบพจนานุกรมสองเล่มกับ ILists สองคนดังนั้นฉันคิดว่าความหมายของความเท่าเทียมกันนั้นชัดเจน - หากพจนานุกรมสองเล่มมีคีย์เดียวกันที่แมปกับค่าเดียวกันนั่นก็เท่ากับ
178 c#  .net  collections 

13
ฉันสามารถโหลดแอสเซมบลี. NET ที่รันไทม์และสร้างอินสแตนซ์ของชนิดที่รู้ชื่อเท่านั้นได้หรือไม่
เป็นไปได้ที่จะยกตัวอย่างวัตถุที่รันไทม์ถ้าฉันมีชื่อ DLL และชื่อคลาสโดยไม่ต้องเพิ่มการอ้างอิงไปยังแอสเซมบลีในโครงการหรือไม่ คลาสใช้อินเทอร์เฟซดังนั้นเมื่อฉันสร้างอินสแตนซ์ของคลาสแล้วฉันจะส่งไปยังอินเทอร์เฟซ ชื่อการประกอบ: Library.dll ชื่อประเภท: Company.Project.Classname แก้ไข:ฉันไม่มีเส้นทางที่แน่นอนของ DLL ดังนั้นAssembly.LoadFileจะไม่ทำงาน DLL อาจอยู่ในรูทแอปพลิเคชัน, system32 หรือแม้กระทั่งโหลดใน GAC
178 c#  assemblies 

30
เอาต์พุตสตริง: รูปแบบหรือ concat ใน C #?
สมมติว่าคุณต้องการส่งออกหรือสตริง concat คุณชอบสไตล์ใดต่อไปนี้ var p = new { FirstName = "Bill", LastName = "Gates" }; Console.WriteLine("{0} {1}", p.FirstName, p.LastName); Console.WriteLine(p.FirstName + " " + p.LastName); คุณค่อนข้างใช้รูปแบบหรือคุณเพียงแค่เชื่อมสตริง? คุณชอบอะไร หนึ่งในสิ่งเหล่านี้ทำร้ายดวงตาของคุณหรือไม่? คุณมีเหตุผลที่จะใช้เหตุผลข้อหนึ่งหรือไม่? ฉันจะไปอีกครั้ง

15
ควร enums ใน C # มีไฟล์ของตัวเอง? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันมีคลาสที่ใช้การแจงนับ enum อยู่ในแฟ้มของตัวเองซึ่งดูเหมือนจะสิ้นเปลือง อะไรคือความคิดเห็นทั่วไปเกี่ยวกับ enums ที่ถูกวางไว้ในเนมสเปซของไฟล์ที่พวกมันถูกใช้ไป หรือ enum ควรอยู่ในไฟล์ cs ของตัวเองหรือไม่ แก้ไข ฉันควรพูดถึงว่าในขณะที่ชั้นเรียนที่เป็นปัญหาใช้การแจกแจงเหล่านี้ดังนั้นผู้เรียกภายนอก กล่าวอีกนัยหนึ่งคลาสอื่นสามารถตั้งค่าแจงนับเหล่านี้ ดังนั้นพวกเขาจึงไม่ได้ใช้ภายในห้องเรียนมิฉะนั้นคำถามนี้จะเป็นเกมง่ายๆ
178 c#  coding-style  enums 

10
วิธีรอเธรดให้เสร็จสิ้นด้วย. NET
ฉันไม่เคยใช้เธรดมาก่อนใน C # โดยที่ฉันต้องมีสองเธรดรวมถึงเธรด UI หลัก โดยทั่วไปฉันมีดังต่อไปนี้ public void StartTheActions() { //Starting thread 1.... Thread t1 = new Thread(new ThreadStart(action1)); t1.Start(); // Now, I want for the main thread (which is calling `StartTheActions` method) // to wait for `t1` to finish. I've created an event in `action1` for this. // …
178 c#  multithreading 

18
วิธีที่เร็วที่สุดในการตรวจสอบว่าสตริงมีตัวเลขเท่านั้นหรือไม่
ฉันรู้วิธีตรวจสอบสิ่งนี้ regex, int.parse, tryparse, บ่วง ใครสามารถบอกฉันได้ว่าเป็นวิธีที่เร็วที่สุดในการตรวจสอบคืออะไร ความต้องการคือการตรวจสอบเท่านั้นไม่จำเป็นต้องแยกวิเคราะห์จริง นี่ไม่ใช่คำถามเดียวกันกับ: ฉันจะระบุได้อย่างไรว่าสตริงเป็นตัวเลข? คำถามไม่เพียงเกี่ยวกับวิธีการระบุ แต่เกี่ยวกับวิธีที่เร็วที่สุดคืออะไร
178 c# 

5
ฉันจะเริ่มต้นพารามิเตอร์เป็น Guid.Empty ใน C # ได้อย่างไร
ฉันอยากจะบอกว่า: public void Problem(Guid optional = Guid.Empty) { } แต่คอมไพเลอร์บ่นว่า Guid.Empty ไม่ใช่ค่าคงที่เวลารวบรวม เนื่องจากฉันไม่ต้องการเปลี่ยน API ฉันไม่สามารถใช้: Nullable<Guid>

9
การหาคำอธิบายที่ชัดเจนเกี่ยวกับความขัดแย้งที่เห็นได้ชัดเกี่ยวกับภาษาที่พิมพ์อย่างอ่อน
ฉันคิดว่าฉันเข้าใจการพิมพ์ที่รัดกุมแต่ทุกครั้งที่ฉันมองหาตัวอย่างสำหรับการพิมพ์ที่อ่อนแอฉันจะพบตัวอย่างของภาษาการเขียนโปรแกรมที่บังคับ / แปลงชนิดโดยอัตโนมัติ ตัวอย่างเช่นในบทความนี้ชื่อTyping: Strong vs. Weak, Static vs. Dynamicบอกว่า Python นั้นถูกพิมพ์อย่างมากเพราะคุณได้รับการยกเว้นถ้าคุณพยายามที่จะ: หลาม 1 + "1" Traceback (most recent call last): File "", line 1, in ? TypeError: unsupported operand type(s) for +: 'int' and 'str' อย่างไรก็ตามสิ่งดังกล่าวเป็นไปได้ใน Java และใน C # และเราไม่พิจารณาว่าพวกเขาพิมพ์เพียงเล็กน้อยเพื่อสิ่งนั้น ชวา int a = 10; String b = …
178 c#  java  python  perl  weakly-typed 

3
มีความแตกต่างอะไรระหว่างคลาส WebClient และ HTTPWebRequest ใน. NET
อะไรคือความแตกต่างระหว่างWebClientและHttpWebRequestคลาสใน. NET พวกเขาทั้งสองทำสิ่งที่คล้ายกันมาก ในความเป็นจริงทำไมพวกเขาไม่รวมเป็นหนึ่งคลาส (มากเกินไปวิธีการ / ตัวแปร ฯลฯ อาจเป็นเหตุผลหนึ่ง แต่มีคลาสอื่น ๆ ใน. NET ซึ่งแบ่งกฎนั้น) ขอบคุณ

10
แทนที่อักขระหลายตัวในสตริง C #
มีวิธีที่ดีกว่าในการแทนที่สตริงหรือไม่ ฉันประหลาดใจที่การแทนที่ไม่ได้ใช้อาร์เรย์อักขระหรืออาร์เรย์สตริง ฉันเดาว่าฉันสามารถเขียนส่วนขยายของตัวเอง แต่ฉันอยากรู้ว่ามีวิธีที่ดีกว่าในการทำสิ่งต่อไปนี้หรือไม่? แจ้งให้ทราบการแทนที่ล่าสุดคือสตริงไม่ใช่อักขระ myString.Replace(';', '\n').Replace(',', '\n').Replace('\r', '\n').Replace('\t', '\n').Replace(' ', '\n').Replace("\n\n", "\n");
178 c#  .net  string 

4
ฟังก์ชั่นท้องถิ่นกับแลมบ์ดา C # 7.0
ฉันกำลังดูการใช้งานใหม่ในC # 7.0และฉันคิดว่ามันน่าสนใจที่พวกเขาได้ใช้ฟังก์ชั่นในท้องถิ่น แต่ฉันไม่สามารถจินตนาการถึงสถานการณ์ที่ฟังก์ชั่นในท้องถิ่นจะได้รับความนิยมมากกว่าการแสดงออกแลมบ์ดา ฉันเข้าใจว่า lambdas เป็นanonymousฟังก์ชั่นในขณะที่ฟังก์ชั่นในท้องถิ่นไม่ได้ แต่ฉันไม่สามารถเข้าใจสถานการณ์โลกแห่งความเป็นจริงได้ซึ่งฟังก์ชั่นในท้องถิ่นมีข้อได้เปรียบมากกว่าการแสดงออกแลมบ์ดา ตัวอย่างใด ๆ จะได้รับการชื่นชมมาก ขอบคุณ
178 c#  function  lambda  c#-7.0 

9
จัดรูปแบบสตริง XML เพื่อพิมพ์สตริง XML ที่จำง่าย
ฉันมีสตริง XML เป็นเช่นนี้: <?xml version='1.0'?><response><error code='1'> Success</error></response> ไม่มีเส้นคั่นระหว่างองค์ประกอบหนึ่งกับอีกองค์ประกอบหนึ่งและทำให้อ่านยากมาก ฉันต้องการฟังก์ชั่นที่จัดรูปแบบสตริงด้านบน: <?xml version='1.0'?> <response> <error code='1'> Success</error> </response> หากไม่ใช้วิธีการเขียนฟังก์ชั่นฟอร์แมตด้วยตนเองฉันจะใช้ส่วนใดของห้องสมุด. Net หรือโค้ดขนาดสั้นที่ฉันสามารถใช้แบบออฟไลน์ได้หรือไม่?
178 c#  xml  formatting 

30
เหตุใดจึงถือว่าการปฏิบัติที่ไม่ดีในการละเว้นการจัดฟันแบบหยิก [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ทำไมทุกคนบอกให้ฉันเขียนโค้ดแบบนี้เป็นการปฏิบัติที่ไม่ดี? if (foo) Bar(); //or for(int i = 0 i < count; i++) Bar(i); อาร์กิวเมนต์ที่ใหญ่ที่สุดของฉันสำหรับการละเว้นวงเล็บปีกกาคือบางครั้งมันอาจเป็นสองเท่าของบรรทัดกับพวกเขา ตัวอย่างเช่นต่อไปนี้เป็นโค้ดบางส่วนที่ใช้ระบายสีเอฟเฟกต์แสงสำหรับฉลากใน C # using (Brush br = new SolidBrush(Color.FromArgb(15, GlowColor))) { for (int x = 0; x <= GlowAmount; x++) { for (int y = 0; y …
177 java  c#  c++  c  coding-style 

4
วิธีใช้ WPF Background Worker
ในแอปพลิเคชันของฉันฉันต้องดำเนินการขั้นตอนการกำหนดค่าเริ่มต้นใช้เวลาดำเนินการประมาณ 7-8 วินาทีในการที่ UI ของฉันไม่ตอบสนอง ในการแก้ไขปัญหานี้ฉันทำการเริ่มต้นในเธรดแยกต่างหาก public void Initialization() { Thread initThread = new Thread(new ThreadStart(InitializationThread)); initThread.Start(); } public void InitializationThread() { outputMessage("Initializing..."); //DO INITIALIZATION outputMessage("Initialization Complete"); } ฉันได้อ่านบทความเกี่ยวกับBackgroundWorkerและควรอนุญาตให้แอปพลิเคชันของฉันตอบสนองได้อย่างไรโดยไม่ต้องเขียนเธรดเพื่อทำงานที่มีความยาว แต่ฉันไม่เคยประสบความสำเร็จในการพยายามติดตั้งใช้งาน สิ่งนี้ใช้BackgroundWorker?

9
"วิธีการคงที่" ใน C # คืออะไร
หมายความว่าอย่างไรเมื่อคุณเพิ่มคำหลักแบบคงที่ให้กับวิธีการ public static void doSomething(){ //Well, do something! } คุณสามารถเพิ่มstaticคำหลักลงในคลาสได้หรือไม่ ถ้าเช่นนั้นจะหมายความว่าอย่างไร
177 c#  methods  static 

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