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

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

4
int เป็นสตริงเลขฐานสิบหก
ฉันต้องการแปลงสตริง int เป็น hex เมื่อทำการแปลง1400 => 578โดยใช้ToString("X")หรือToString("X2")แต่ฉันต้องการมันเช่น0578. ใครช่วยให้ฉันIFormatterแน่ใจว่าสตริงยาว 4 ตัวอักษรได้ไหม
105 c# 

6
การจัดรูปแบบข้อความใน TextBlock
ฉันจะจัดรูปแบบข้อความภายในตัวTextBlockควบคุมในแอปพลิเคชัน WPF ของฉันได้อย่างไร เช่นฉันต้องการใช้คำบางคำที่เป็นตัวหนาคำอื่น ๆ เป็นตัวเอียงและบางคำก็มีสีต่างกันเช่นตัวอย่างนี้: เหตุผลที่อยู่เบื้องหลังคำถามของฉันคือปัญหาที่แท้จริงนี้: lblcolorfrom.Content = "Colour From: " + colourChange.ElementAt(3).Value.ToUpper(); ฉันต้องการให้ส่วนที่สองของสตริงเป็นตัวหนาและฉันรู้ว่าฉันสามารถใช้การควบคุมสองแบบ (ป้ายกำกับ, บล็อกข้อความ ฯลฯ ) แต่ฉันไม่ต้องการเนื่องจากมีการใช้การควบคุมจำนวนมากอยู่แล้ว
105 c#  wpf  wpf-controls 



13
NuGet หลังพร็อกซี
ฉันคิดว่า NuGet อนุญาตให้กำหนดค่าการตั้งค่าพร็อกซีตั้งแต่เวอร์ชัน 1.4 แต่ฉันไม่พบตัวอย่างบรรทัดคำสั่ง ฉันกำลังพยายามรันบิวด์และ NuGet ไม่สามารถเชื่อมต่อได้ ฉันจะกำหนดการตั้งค่าพร็อกซีบนบรรทัดคำสั่งได้อย่างไร
105 c#  msbuild  nuget 

8
จะทำให้แอปคอนโซล. NET ทำงานได้อย่างไร
พิจารณาแอปพลิเคชันคอนโซลที่เริ่มต้นบริการบางอย่างในเธรดแยกต่างหาก สิ่งที่ต้องทำคือรอให้ผู้ใช้กด Ctrl + C เพื่อปิดเครื่อง วิธีใดเป็นวิธีที่ดีกว่าในการดำเนินการนี้ static ManualResetEvent _quitEvent = new ManualResetEvent(false); static void Main() { Console.CancelKeyPress += (sender, eArgs) => { _quitEvent.Set(); eArgs.Cancel = true; }; // kick off asynchronous stuff _quitEvent.WaitOne(); // cleanup/shutdown and quit } หรือสิ่งนี้โดยใช้ Thread.Sleep (1): static bool _quitFlag = false; static void Main() …

19
ตรวจสอบว่าโค้ดทำงานเป็นส่วนหนึ่งของการทดสอบหน่วยหรือไม่
ฉันมีการทดสอบหน่วย (nUnit) หลายชั้นที่เรียกซ้อนกันวิธีการจะล้มเหลวหากทำงานผ่านการทดสอบหน่วย ตามหลักการแล้วคุณจะใช้บางอย่างเช่นการเยาะเย้ยเพื่อตั้งค่าวัตถุที่วิธีนี้ขึ้นอยู่กับ แต่นี่เป็นรหัสของบุคคลที่สามและฉันไม่สามารถทำได้โดยไม่ต้องทำงานมาก ฉันไม่ต้องการตั้งค่าวิธีการเฉพาะ nUnit - ที่นี่มีหลายระดับเกินไปและเป็นวิธีที่ไม่ดีในการทดสอบหน่วย แต่สิ่งที่ฉันต้องการจะทำคือเพิ่มสิ่งนี้ให้ลึกลงไปใน call stack #IF DEBUG // Unit tests only included in debug build if (IsRunningInUnitTest) { // Do some setup to avoid error } #endif มีแนวคิดเกี่ยวกับวิธีการเขียน IsRunningInUnitTest อย่างไร? ปล. ฉันรู้อยู่เต็มอกว่านี่ไม่ใช่การออกแบบที่ยอดเยี่ยม แต่ฉันคิดว่ามันดีกว่าทางเลือกอื่น
105 c#  reflection  nunit 

13
GetManifestResourceStream ส่งคืนค่า NULL
นี่คือแอปพลิเคชัน C # .NET 4.0: ฉันกำลังฝังไฟล์ข้อความเป็นทรัพยากรจากนั้นพยายามแสดงในกล่องโต้ตอบ: var assembly = Assembly.GetExecutingAssembly(); var resourceName = "MyProj.Help.txt"; using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { string result = reader.ReadToEnd(); System.Windows.Forms.MessageBox.Show(result, "MyProj", MessageBoxButtons.OK); } } วิธีแก้ปัญหาคือ MyProjSolution และไฟล์ปฏิบัติการคือ MyProj.exe Help.txt เป็นทรัพยากรที่ฝังอยู่ อย่างไรก็ตามสตรีมเป็นโมฆะ ฉันได้ลอง MyProjSolution.Help.txt และ MyProjSolution.MyProj.Help.txt แล้ว แต่ดูเหมือนจะไม่มีอะไรทำงาน

7
C # เรียงลำดับและเรียงลำดับโดยเปรียบเทียบ
ฉันสามารถจัดเรียงรายการโดยใช้ Sort หรือ OrderBy อันไหนเร็วกว่ากัน? ทั้งสองทำงานบนอัลกอริทึมเดียวกันหรือไม่ List<Person> persons = new List<Person>(); persons.Add(new Person("P005", "Janson")); persons.Add(new Person("P002", "Aravind")); persons.Add(new Person("P007", "Kazhal")); 1. persons.Sort((p1,p2)=>string.Compare(p1.Name,p2.Name,true)); 2. var query = persons.OrderBy(n => n.Name, new NameComparer()); class NameComparer : IComparer<string> { public int Compare(string x,string y) { return string.Compare(x, y, true); } }

7
รหัส Linq เพื่อเลือกหนึ่งรายการ
ฉันพบว่าตัวเองเขียนโค้ดจำนวนมากเช่นนี้เพื่อเลือกรายการที่ตรงกัน var item = (from x in Items where x.Id == 123 select x).First(); มีวิธีทำที่สะอาดกว่านี้ไหมหรือจะรวบรัดเท่าที่ฉันจะได้รับ? แก้ไข: ควรจะพูดว่า "วิธีที่สะอาดกว่าโดยใช้ไวยากรณ์ linq" ฉันรู้ไวยากรณ์แลมบ์ดาแล้วและมันเริ่มดูเหมือนว่านี่เป็นวิธีเดียวเท่านั้น ฉันได้รับข้อมูลที่เป็นประโยชน์ดังนั้นขอบคุณทุกคนที่ตอบกลับ
105 c#  linq 

9
เหตุใด C # จึงใช้วิธีการไม่ใช่เสมือนโดยค่าเริ่มต้น
ต่างจาก Java เหตุใด C # จึงถือว่าเมธอดไม่ใช่ฟังก์ชันเสมือนตามค่าเริ่มต้น มีแนวโน้มที่จะเป็นปัญหาด้านประสิทธิภาพมากกว่าผลลัพธ์ที่เป็นไปได้อื่น ๆ หรือไม่? ฉันนึกถึงเมื่ออ่านย่อหน้าจาก Anders Hejlsberg เกี่ยวกับข้อดีหลายประการที่สถาปัตยกรรมที่มีอยู่กำลังนำออกมา แต่ผลข้างเคียงล่ะ? เป็นการแลกเปลี่ยนที่ดีจริงๆหรือไม่ที่จะมีวิธีการที่ไม่ใช่เสมือนโดยค่าเริ่มต้น?

5
จะให้ผลตอบแทนและรอดำเนินการตามขั้นตอนการควบคุมใน. NET ได้อย่างไร
ตามที่ฉันเข้าใจyieldคำสำคัญหากใช้จากภายในบล็อกตัววนซ้ำมันจะส่งคืนขั้นตอนการควบคุมไปยังรหัสการเรียกและเมื่อตัววนซ้ำถูกเรียกอีกครั้งคำหลักจะดึงขึ้นมาจากจุดที่ค้างไว้ นอกจากนี้awaitไม่เพียง แต่รอผู้เรียกเท่านั้น แต่ยังส่งกลับการควบคุมไปยังผู้โทรเพียงเพื่อเลือกจุดที่ค้างไว้เมื่อผู้เรียกawaitsใช้เมธอด กล่าวอีกนัยหนึ่ง - ไม่มีเธรดและ "ภาวะพร้อมกัน" ของ async และการรอคอยเป็นภาพลวงตาที่เกิดจากการควบคุมอย่างชาญฉลาดซึ่งรายละเอียดจะถูกปกปิดโดยไวยากรณ์ ตอนนี้ฉันเป็นอดีตโปรแกรมเมอร์แอสเซมบลีและฉันคุ้นเคยกับตัวชี้คำสั่งสแต็กและอื่น ๆ เป็นอย่างดีและฉันได้รับวิธีการทำงานของโฟลว์การควบคุมปกติ (รูทีนย่อยการเรียกซ้ำลูปสาขา) แต่โครงสร้างใหม่เหล่านี้ - ฉันไม่เข้าใจ เมื่อawaitถึงเวลารันไทม์จะรู้ได้อย่างไรว่าโค้ดส่วนใดควรรันต่อไป มันรู้ได้อย่างไรว่ามันสามารถกลับมาทำงานต่อจากจุดที่ค้างไว้ได้อย่างไรและมันจำได้อย่างไร เกิดอะไรขึ้นกับ call stack ปัจจุบันได้รับการบันทึกหรือไม่? จะเกิดอะไรขึ้นถ้าวิธีการโทรทำให้เมธอดอื่นเรียกก่อน - awaitเหตุใดสแต็กจึงไม่ถูกเขียนทับ และรันไทม์บนโลกจะทำงานผ่านสิ่งนี้ได้อย่างไรในกรณีที่มีข้อยกเว้นและสแต็กคลายตัว เมื่อyieldถึงเวลารันไทม์จะติดตามจุดที่ควรหยิบสิ่งของได้อย่างไร? สถานะตัวทำซ้ำถูกเก็บรักษาไว้อย่างไร

9
ความแตกต่างของประสิทธิภาพสำหรับโครงสร้างควบคุม 'สำหรับ' และ 'foreach' ใน C #
ข้อมูลโค้ดใดจะให้ประสิทธิภาพดีกว่ากัน ส่วนโค้ดด้านล่างเขียนด้วย C # 1. for(int counter=0; counter<list.Count; counter++) { list[counter].DoSomething(); } 2. foreach(MyType current in list) { current.DoSomething(); }

10
มีประเภท C # สำหรับแสดงช่วงจำนวนเต็มหรือไม่?
ฉันมีความต้องการที่จะจัดเก็บช่วงจำนวนเต็ม มีประเภทที่มีอยู่สำหรับสิ่งนั้นใน C # 4.0 หรือไม่? แน่นอนฉันจะเขียนชั้นเรียนของฉันเองด้วยint Fromและคุณสมบัติและสร้างในตรรกะที่เหมาะสมเพื่อให้มั่นใจว่าint To From <= Toแต่ถ้ามีประเภทอยู่แล้วแน่นอนว่าฉันควรใช้แบบนั้น
105 c# 

9
วิธีรับค่าจำนวนเต็มของวันในสัปดาห์
ฉันจะรับวันในสัปดาห์ในรูปแบบจำนวนเต็มได้อย่างไร ฉันรู้ว่า ToString จะส่งคืนเฉพาะสตริง DateTime ClockInfoFromSystem = DateTime.Now; int day1; string day2; day1= ClockInfoFromSystem.DayOfWeek.ToString(); /// it is not working day2= ClockInfoFromSystem.DayOfWeek.ToString(); /// it gives me string

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