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

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

14
คิวลำดับความสำคัญใน. สุทธิ [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังมองหา. NET การใช้งานคิวลำดับความสำคัญหรือโครงสร้างข้อมูลกอง คิวลำดับความสำคัญคือโครงสร้างข้อมูลที่ให้ความยืดหยุ่นมากกว่าการเรียงลำดับแบบง่าย ๆ เนื่องจากอนุญาตให้องค์ประกอบใหม่เข้าสู่ระบบตามช่วงเวลาที่กำหนด มันคุ้มค่ากว่าการแทรกงานใหม่ลงในคิวลำดับความสำคัญมากกว่าจัดเรียงทุกอย่างในการมาถึงแต่ละครั้ง คิวลำดับความสำคัญพื้นฐานรองรับการดำเนินงานหลักสามประการ: แทรก (Q, x) ระบุไอเท็ม x ด้วยคีย์ k ให้แทรกลงในคิวลำดับความสำคัญ Q ค้นหาขั้นต่ำ (Q) ส่งกลับตัวชี้ไปยังรายการที่มีค่าคีย์น้อยกว่าคีย์อื่นในคิวลำดับความสำคัญ Q ลบ-ขั้นต่ำ (Q) ลบรายการออกจากคิวลำดับความสำคัญ Q ซึ่งมีคีย์น้อยที่สุด นอกจากว่าฉันกำลังมองหาสถานที่ที่ไม่ถูกต้องไม่มีใครอยู่ในกรอบ มีใครตระหนักถึงสิ่งที่ดีหรือฉันควรจะม้วนตัวเอง?

9
จับตัวแปรในวงใน C #
ฉันพบปัญหาที่น่าสนใจเกี่ยวกับ C # ฉันมีรหัสเช่นด้านล่าง List<Func<int>> actions = new List<Func<int>>(); int variable = 0; while (variable < 5) { actions.Add(() => variable * 2); ++ variable; } foreach (var act in actions) { Console.WriteLine(act.Invoke()); } ฉันคาดหวังให้มันส่งออก 0, 2, 4, 6, 8 อย่างไรก็ตามจริงๆแล้วมันส่งออกห้า 10s ดูเหมือนว่าเกิดจากการกระทำทั้งหมดที่อ้างถึงตัวแปรที่ถูกจับหนึ่งตัว ดังนั้นเมื่อพวกเขาได้รับการเรียกพวกเขาทั้งหมดมีผลลัพธ์ที่เหมือนกัน มีวิธีแก้ไขข้อ จำกัด นี้เพื่อให้แต่ละอินสแตนซ์การดำเนินการมีตัวแปรที่จับภาพได้หรือไม่?

14
ทำไมคุณควรลบ C # ที่ไม่จำเป็นโดยใช้คำสั่ง?
ตัวอย่างเช่นฉันไม่ค่อยต้องการ: using System.Text; แต่จะมีตามค่าเริ่มต้นเสมอ ผมถือว่าโปรแกรมจะใช้หน่วยความจำมากขึ้นถ้ารหัสของคุณมีที่ไม่จำเป็นโดยใช้คำสั่ง แต่มีอะไรอีกบ้างที่ฉันควรระวัง? นอกจากนี้มันจะสร้างความแตกต่างใด ๆ หรือไม่หากใช้ directive เดียวกันในไฟล์เดียวเทียบกับไฟล์ส่วนใหญ่ / ทั้งหมด? แก้ไข: โปรดทราบว่าคำถามนี้ไม่ได้เกี่ยวกับแนวคิดที่ไม่เกี่ยวข้องที่เรียกว่าคำสั่งการใช้ซึ่งออกแบบมาเพื่อช่วยจัดการทรัพยากรโดยการทำให้แน่ใจว่าเมื่อวัตถุออกนอกขอบเขตIDisposable.Disposeจะเรียกวิธีการนั้น ดูการใช้ "ใช้" ใน C #
216 c#  assemblies  using 

9
ฉันจะสร้างแอปพลิเคชัน. NET Windows Forms ที่ทำงานเฉพาะใน System Tray ได้อย่างไร
ฉันต้องทำอะไรเพื่อให้แอปพลิเคชันWindows Formsทำงานใน System Tray ไม่ใช่แอปพลิเคชันที่สามารถย่อเล็กสุดให้กับถาด แต่มีเพียงแอปพลิเคชั่นที่มีอยู่ในถาดเท่านั้นโดยไม่มีอะไรมากไปกว่าไอคอนคำแนะนำเครื่องมือและเมนู "คลิกขวา"
216 c#  .net  winforms  system-tray 

8
เมื่อใดที่ฉันควรใช้ Async Controllers ใน ASP.NET MVC
ฉันมีข้อกังวลบางอย่างเกี่ยวกับการใช้การกระทำของ async ใน ASP.NET MVC เมื่อไหร่มันจะปรับปรุงประสิทธิภาพการทำงานของแอพพลิเคของฉันและเมื่อไม่ได้ไม่ได้ ? มันเป็นการดีที่จะใช้ async การกระทำทุกที่ใน ASP.NET MVC? เกี่ยวกับวิธีการที่รอคอย: ฉันจะใช้ async / คอยคำสำคัญเมื่อฉันต้องการสอบถามฐานข้อมูล (ผ่าน EF / NHibernate / ORM อื่น ๆ ) กี่ครั้งที่ฉันสามารถใช้คำหลักที่รอคอยที่จะสอบถามฐานข้อมูลแบบไม่พร้อมกันในหนึ่งวิธีการดำเนินการเดียว?

30
การตรวจสอบอีเมล Regex
ฉันใช้สิ่งนี้ @"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$" regexp เพื่อตรวจสอบอีเมล ([\w\.\-]+)- สิ่งนี้มีไว้สำหรับโดเมนระดับแรก (ตัวอักษรและตัวเลขจำนวนมากรวมถึงจุดและยัติภังค์) ([\w\-]+)- สำหรับโดเมนระดับที่สอง ((\.(\w){2,3})+)- และสำหรับโดเมนระดับอื่น (จาก 3 ถึงอินฟินิตี้) ซึ่งรวมถึงจุดและ 2 หรือ 3 ตัวอักษร เกิดอะไรขึ้นกับ regex นี้ แก้ไข: มันไม่ตรงกับอีเมล "something@someth.ing"
215 c#  regex  validation 

15
จบลงด้วยการกำจัด
ทำไมบางคนถึงใช้Finalizeวิธีนี้มากกว่าDisposeวิธี? ในสถานการณ์ใดบ้างที่คุณจะใช้Finalizeวิธีนี้เหนือDisposeวิธีการและในทางกลับกัน
215 c#  dispose 

16
วิธีการอ่านไฟล์ทั้งหมดไปยังสตริงโดยใช้ C #?
วิธีที่เร็วที่สุดในการอ่านไฟล์ข้อความในตัวแปรสตริงคืออะไร? ฉันเข้าใจว่าสามารถทำได้หลายวิธีเช่นอ่านแต่ละไบต์แล้วแปลงเป็นสตริง ฉันกำลังมองหาวิธีที่มีการเข้ารหัสน้อยที่สุด
215 c#  string  file-io  .net-3.5 

2
ฉันจะทำเครื่องหมาย async ของแลมบ์ดาได้ที่ไหน?
ฉันได้รับรหัสนี้: private async void ContextMenuForGroupRightTapped(object sender, RightTappedRoutedEventArgs args) { CheckBox ckbx = null; if (sender is CheckBox) { ckbx = sender as CheckBox; } if (null == ckbx) { return; } string groupName = ckbx.Content.ToString(); var contextMenu = new PopupMenu(); // Add a command to edit the current Group contextMenu.Commands.Add(new …

24
String เทียบกับ StringBuilder
ฉันเข้าใจความแตกต่างระหว่างStringและStringBuilder( StringBuilderไม่แน่นอน) แต่มีประสิทธิภาพแตกต่างกันมากระหว่างทั้งสองหรือไม่ โปรแกรมที่ฉันกำลังใช้งานมีสตริงตัวเรือนจำนวนมากต่อท้าย (500+) ใช้StringBuilderตัวเลือกที่ดีกว่าไหม?
215 c#  .net  performance 

2
Singleton by Jon Skeet ชี้แจง
public sealed class Singleton { Singleton() {} public static Singleton Instance { get { return Nested.instance; } } class Nested { // Explicit static constructor to tell C# compiler // not to mark type as beforefieldinit static Nested() {} internal static readonly Singleton instance = new Singleton(); } } ฉันต้องการนำรูปแบบซิงเกิลของ …

18
นำหน้าต่างไปไว้ด้านหน้าใน WPF
ฉันจะนำแอปพลิเคชัน WPF ของฉันไปไว้ที่ด้านหน้าของเดสก์ท็อปได้อย่างไร จนถึงตอนนี้ฉันได้ลองแล้ว: SwitchToThisWindow(new WindowInteropHelper(Application.Current.MainWindow).Handle, true); SetWindowPos(new WindowInteropHelper(Application.Current.MainWindow).Handle, IntPtr.Zero, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); SetForegroundWindow(new WindowInteropHelper(Application.Current.MainWindow).Handle); ไม่มีสิ่งใดที่กำลังทำงานอยู่ ( Marshal.GetLastWin32Error()กำลังบอกว่าการดำเนินการเหล่านี้เสร็จสมบูรณ์แล้วและมีคุณลักษณะ P / Invoke สำหรับแต่ละนิยามSetLastError=true) ถ้าฉันสร้างแอปพลิเคชั่น WPF ใหม่ที่ว่างเปล่าและโทรSwitchToThisWindowด้วยตัวจับเวลามันทำงานได้อย่างที่คาดหวังดังนั้นฉันไม่แน่ใจว่าทำไมมันไม่ทำงานในกรณีดั้งเดิมของฉัน แก้ไข : ฉันกำลังทำสิ่งนี้ร่วมกับฮอตคีย์ทั่วโลก
214 c#  .net  wpf  winapi  pinvoke 

12
วิธีที่เร็วที่สุดในการเปรียบเทียบรายการทั่วไปสองรายการสำหรับความแตกต่าง
สิ่งที่เร็วที่สุด (และใช้ทรัพยากรอย่างน้อยที่สุด) เพื่อเปรียบเทียบสองสิ่งที่มีขนาดใหญ่ (> 50,000 รายการ) และด้วยเหตุนี้จึงมีสองรายการเหมือนรายการด้านล่าง: รายการที่ปรากฏในรายการแรก แต่ไม่ใช่ในรายการที่สอง รายการที่ปรากฏในรายการที่สอง แต่ไม่อยู่ในรายการแรก ขณะนี้ฉันกำลังทำงานกับรายการหรือ IReadOnlyCollection และแก้ปัญหานี้ในแบบสอบถาม linq: var list1 = list.Where(i => !list2.Contains(i)).ToList(); var list2 = list2.Where(i => !list.Contains(i)).ToList(); แต่มันก็ไม่ได้ผลดีเท่าที่ฉันต้องการ มีความคิดที่จะทำให้ทรัพยากรนี้เร็วขึ้นและน้อยลงอย่างที่ฉันต้องการเพื่อประมวลผลรายการจำนวนมากหรือไม่?
214 c#  linq  list 

5
ความต่อเนื่องของงานบนเธรด UI
มีวิธี 'มาตรฐาน' เพื่อระบุว่างานต่อเนื่องควรทำงานบนเธรดที่งานเริ่มต้นถูกสร้างขึ้น? ขณะนี้ฉันมีรหัสด้านล่าง - มันใช้งานได้ แต่คอยติดตามดิสแพตเชอร์และการสร้างแอคชั่นที่สองดูเหมือนจะเป็นค่าใช้จ่ายที่ไม่จำเป็น dispatcher = Dispatcher.CurrentDispatcher; Task task = Task.Factory.StartNew(() => { DoLongRunningWork(); }); Task UITask= task.ContinueWith(() => { dispatcher.Invoke(new Action(() => { this.TextBlock1.Text = "Complete"; } });
214 c#  .net  wpf  multithreading  task 

25
สร้างคลาสจากตารางฐานข้อมูล
ฉันจะสร้างคลาสจากวัตถุตาราง SQL Server ได้อย่างไร ฉันไม่ได้พูดถึงการใช้ ORM ฉันแค่ต้องสร้างเอนทิตี้ (คลาสง่าย) สิ่งที่ต้องการ: public class Person { public string Name { get;set; } public string Phone { get;set; } } รับตารางบางอย่างเช่น: +----+-------+----------------+ | ID | Name | Phone | +----+-------+----------------+ | 1 | Alice | (555) 555-5550 | | 2 | Bob | (555) …
214 c#  sql  sql-server  tsql 

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