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

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

8
ตรวจสอบว่ารายการว่างเปล่าใน C # [ปิด]
ปิด . คำถามนี้ต้องการรายละเอียดหรือความคมชัด ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันมีรายการวัตถุที่เติมจากฐานข้อมูล ฉันต้องการแสดงข้อความแสดงข้อผิดพลาดหากรายการว่างเปล่าและแสดงมุมมองตารางเป็นอย่างอื่น ฉันจะตรวจสอบว่า a List<T>ว่างใน C # ได้อย่างไร

9
แทนที่ไม่ใช่ตัวเลขด้วยสตริงว่าง
เพิ่มความต้องการอย่างรวดเร็วในโครงการของเรา ฟิลด์ในฐานข้อมูลของเราสำหรับเก็บหมายเลขโทรศัพท์ถูกกำหนดให้อนุญาตเพียง 10 อักขระ ดังนั้นหากฉันผ่าน "(913) -444-5555" หรืออย่างอื่นมีวิธีที่รวดเร็วในการเรียกใช้สตริงผ่านฟังก์ชันการแทนที่พิเศษบางประเภทที่ฉันสามารถส่งชุดอักขระเพื่ออนุญาตได้หรือไม่ regex?
125 c#  regex  string  phone-number 

5
สร้างงาน <T> ที่เสร็จสมบูรณ์
ฉันกำลังใช้วิธีการTask&lt;Result&gt; StartSomeTask()และบังเอิญรู้ผลลัพธ์อยู่แล้วก่อนที่เมธอดจะถูกเรียกใช้ ฉันจะสร้างงาน &lt;T&gt;ที่เสร็จสมบูรณ์แล้วได้อย่างไร? นี่คือสิ่งที่ฉันกำลังทำอยู่: private readonly Result theResult = new Result(); public override Task&lt;Result&gt; StartSomeTask() { var task = new Task&lt;Result&gt;(() =&gt; theResult); task.RunSynchronously(CurrentThreadTaskScheduler.CurrentThread); return task; } มีทางออกที่ดีกว่านี้หรือไม่?

8
C # 4.0: ฉันสามารถใช้ TimeSpan เป็นพารามิเตอร์เสริมที่มีค่าเริ่มต้นได้หรือไม่
ทั้งสองอย่างนี้สร้างข้อผิดพลาดที่บอกว่าต้องเป็นค่าคงที่เวลาคอมไพล์: void Foo(TimeSpan span = TimeSpan.FromSeconds(2.0)) void Foo(TimeSpan span = new TimeSpan(2000)) ก่อนอื่นใครสามารถอธิบายได้ว่าทำไมค่าเหล่านี้ไม่สามารถกำหนดได้ในเวลารวบรวม? และมีวิธีระบุค่าดีฟอลต์สำหรับอ็อบเจ็กต์ TimeSpan หรือไม่?

2
ฉันจะหาแพ็คเกจ NuGet สำหรับอัพเกรดเป็น System.Web.Http v5.0.0.0 ได้ที่ไหน
เพิ่งอัปเกรดโครงการ ASP.NET MVC4 เพื่อใช้ Unity.WebApi เวอร์ชัน 5.0.0.0 และต้องใช้ System.Web.Http v 5.0.0.0 ตามข้อผิดพลาดต่อไปนี้: Assembly 'Unity.WebApi, Version=5.1.0.0, Culture=neutral, PublicKeyToken=43da31bc42a85347' uses 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ขณะนี้ฉันกำลังอ้างอิง System.Web.Http v4.0 แต่มีแพ็คเกจ NuGet ต่อไปนี้ที่อัปเกรดเป็นเวอร์ชันล่าสุดตามลำดับ: ANTLRv3 ผู้ให้บริการ Microsoft ASP.NET Universal Microsoft.Web.Infrastructure Microsoft ASP.NET MVC มีดโกน …

5
มีผลข้างเคียงของการส่งคืนจากภายในคำสั่ง using () หรือไม่?
การส่งคืนค่าวิธีการจากภายในคำสั่งใช้ที่ได้รับ DataContext ดูเหมือนจะทำงานได้ดีเสมอเช่นนี้: public static Transaction GetMostRecentTransaction(int singleId) { using (var db = new DataClasses1DataContext()) { var transaction = (from t in db.Transactions orderby t.WhenCreated descending where t.Id == singleId select t).SingleOrDefault(); return transaction; } } แต่ฉันมักจะรู้สึกว่าฉันควรจะปิดบางอย่างก่อนที่จะแยกออกจากวงเล็บที่ใช้เช่นโดยการกำหนดธุรกรรมก่อนคำสั่งใช้รับมูลค่าภายในวงเล็บแล้วกลับมาหลังวงเล็บ การกำหนดและส่งคืนตัวแปรนอกวงเล็บใช้จะเป็นการปฏิบัติที่ดีกว่าหรืออนุรักษ์ทรัพยากรด้วยวิธีใด
125 c#  using 

10
ไม่พบแหล่งที่มา แต่ไม่สามารถค้นหาบันทึกเหตุการณ์บางส่วนหรือทั้งหมดได้
ฉันได้รับข้อยกเว้นต่อไปนี้ ฉันให้การควบคุมบัญชี Asp.net อย่างสมบูรณ์ใน Eventlogs ใน Registry edit [SecurityException: ไม่พบแหล่งที่มา แต่ไม่สามารถค้นหาบันทึกเหตุการณ์บางส่วนหรือทั้งหมดได้ บันทึกที่ไม่สามารถเข้าถึงได้: ความปลอดภัย] System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly, Boolean wantToCreate) +664 System.Diagnostics.EventLog.SourceExists(String source, String machineName, Boolean wantToCreate) +109 System.Diagnostics.EventLog.SourceExists(String source) +14 Microsoft.ApplicationBlocks.ExceptionManagement.DefaultPublisher.VerifyValidSource() +41 ฉันเดาว่านี่เป็นเพราะปัญหาการกำหนดค่าบนเซิร์ฟเวอร์?

18
จะรอให้ BackgroundWorker ยกเลิกได้อย่างไร?
พิจารณาวิธีการสมมุติของวัตถุที่ทำสิ่งต่างๆให้คุณ: public class DoesStuff { BackgroundWorker _worker = new BackgroundWorker(); ... public void CancelDoingStuff() { _worker.CancelAsync(); //todo: Figure out a way to wait for BackgroundWorker to be cancelled. } } จะรอให้ BackgroundWorker ทำได้อย่างไร? ในอดีตผู้คนได้พยายาม: while (_worker.IsBusy) { Sleep(100); } แต่การหยุดชะงักนี้เนื่องจากIsBusyไม่ได้รับการล้างจนกว่าRunWorkerCompletedจะมีการจัดการเหตุการณ์และเหตุการณ์นั้นจะไม่สามารถจัดการได้จนกว่าแอปพลิเคชันจะไม่ได้ใช้งาน แอปพลิเคชันจะไม่ทำงานจนกว่าผู้ปฏิบัติงานจะเสร็จสิ้น (นอกจากนี้ยังเป็นห่วงที่วุ่นวาย - น่าขยะแขยง) คนอื่น ๆ ได้เพิ่มการแยกที่แนะนำไว้ใน: while (_worker.IsBusy) { …

5
การตั้งค่าไอคอนสำหรับแอปพลิเคชัน wpf (VS 08)
ก่อนที่จะดำเนินการต่อไปฉันจะพูดถึงฉันได้ลองวิธีแก้ไขแล้วดังนี้: ฉันจะตั้งค่าไอคอนสำหรับแอปพลิเคชันของฉันใน Visual Studio 2008 ได้อย่างไร ตั้งค่าไอคอนแอปพลิเคชันจากทรัพยากรใน VS 05 ฉันกำลังพยายามตั้งค่าไอคอนสำหรับแอปพลิเคชันของฉัน AFAIK ฉันต้องการ 3 ภาพหรือไม่? 1 ภาพคือภาพจริงใน explorer เมื่อคลิกที่. exe (ภาพขนาดย่อสำหรับ exe) 1 ภาพ (เล็ก ๆ ) ที่มุมบนซ้าย (16 x 16 หรือไม่ไม่แน่ใจทั้งหมด) 1 ภาพในท่าเรือเมนูเริ่มทางด้านซ้ายของแอพ (อาจเป็น 32x32 หรือเปล่าไม่แน่ใจอีกครั้ง) เป็นอย่างดี ตอนนี้ฉันได้เลือกไอคอนแล้ว ฉันจะใช้มันในสถานการณ์ใดสถานการณ์หนึ่งข้างต้นได้อย่างไร ฉันได้ลองเพิ่มในแหล่งข้อมูลแล้วดูเหมือนจะไม่มีอะไรเกิดขึ้น ตามโซลูชัน SO แรกนั้น "ขั้นแรกให้ไปที่มุมมองทรัพยากร (จากเมนู: มุมมอง -&gt; หน้าต่างอื่น -&gt; มุมมองทรัพยากร) …

11
ฉันจะกระโดดออกจาก foreach loop ใน C # ได้อย่างไร
ฉันจะแยกออกจากforeachลูปใน C # ได้อย่างไรหากองค์ประกอบใดองค์ประกอบหนึ่งตรงตามข้อกำหนด ตัวอย่างเช่น: foreach(string s in sList){ if(s.equals("ok")){ //jump foreach loop and return true } //no item equals to "ok" then return false }
125 c#  .net  foreach 

4
ใช้ StringFormat เพื่อเพิ่มสตริงในการโยง WPF XAML
ฉันมีแอปพลิเคชัน WPF 4 ที่มี TextBlock ซึ่งมีการผูกทางเดียวกับค่าจำนวนเต็ม (ในกรณีนี้อุณหภูมิเป็นองศาเซลเซียส) XAML มีลักษณะดังนี้: &lt;TextBlock x:Name="textBlockTemperature"&gt; &lt;Run Text="{Binding CelsiusTemp, Mode=OneWay}"/&gt;&lt;/TextBlock&gt; ใช้งานได้ดีสำหรับการแสดงค่าอุณหภูมิจริง แต่ฉันต้องการจัดรูปแบบค่านี้เพื่อให้รวม° C แทนที่จะเป็นเพียงตัวเลข (30 ° C แทนที่จะเป็นเพียง 30) ฉันอ่านเกี่ยวกับ StringFormat มาแล้วและฉันได้เห็นตัวอย่างทั่วไปหลายอย่างเช่นนี้: // format the bound value as a currency &lt;TextBlock Text="{Binding Amount, StringFormat={}{0:C}}" /&gt; และ // preface the bound value with a string and …

9
ฉันจะเปิดหน้าต่างที่สองจากหน้าต่างแรกใน WPF ได้อย่างไร
ฉันยังใหม่กับ WPF ฉันมีสองหน้าต่างเช่น window1 และ window2 ฉันมีปุ่มเดียวใน window1 ถ้าฉันคลิกปุ่มนั้นหน้าต่าง 2 จะต้องเปิดขึ้น จะทำอย่างไรดี? นี่คือรหัสที่ฉันลอง: window2.show();
125 c#  wpf 

5
C # DateTime เป็นเวลา UTC โดยไม่ต้องเปลี่ยนเวลา
ฉันจะแปลงวันที่และเวลาที่มีอยู่ก่อนหน้านี้เป็นเวลา UTC ได้อย่างไรโดยไม่ต้องเปลี่ยนเวลาจริง ตัวอย่าง: DateTime dateTime = GetSomeDateTime(); // dateTime here is 3pm dateTime.ToUtcDateTime() // datetime should still be 3pm
124 c#  datetime  utc 

1
Roslyn SyntaxNodes ถูกใช้ซ้ำหรือไม่
ฉันได้ดูRoslyn CTPแล้วและในขณะที่มันแก้ปัญหาที่คล้ายกันกับExpression tree APIทั้งสองไม่เปลี่ยนรูป แต่ Roslyn ทำในลักษณะที่แตกต่างกันมาก: Expression โหนดไม่มีการอ้างอิงไปยังโหนดหลักถูกแก้ไขโดยใช้ไฟล์ ExpressionVisitorและนั่นคือเหตุผลที่สามารถใช้ชิ้นส่วนขนาดใหญ่ซ้ำได้ SyntaxNodeอีกด้านหนึ่งของ Roslyn มีการอ้างอิงถึงพาเรนต์ดังนั้นโหนดทั้งหมดจึงกลายเป็นบล็อกที่ไม่สามารถใช้ซ้ำได้อย่างมีประสิทธิภาพ วิธีการเช่นUpdate, ReplaceNodeฯลฯ มีไว้เพื่อทำการแก้ไข เรื่องนี้จบลงที่ไหน? Document? Project? ISolution? API ส่งเสริมการเปลี่ยนแปลงทีละขั้นตอนของทรี (แทนที่จะเป็นปุ่มขึ้น) แต่แต่ละขั้นตอนทำสำเนาทั้งหมดหรือไม่ ทำไมพวกเขาถึงเลือกเช่นนั้น? มีเคล็ดลับที่น่าสนใจบางอย่างที่ฉันขาดหายไปหรือไม่?

4
เหตุใดการคัดเลือก int เป็นค่า enum ที่ไม่ถูกต้องจึงไม่ทำให้เกิดข้อยกเว้น
ถ้าฉันมี enum ดังนี้: enum Beer { Bud = 10, Stella = 20, Unknown } มันไม่ทำไมไม่โยนยกเว้นเมื่อหล่อintที่อยู่นอกค่าเหล่านี้ประเภทของBeer? ตัวอย่างเช่นรหัสต่อไปนี้ไม่มีข้อยกเว้น แต่จะส่งออก '50' ไปที่คอนโซล: int i = 50; var b = (Beer) i; Console.WriteLine(b.ToString()); เจอแบบนี้แปลก ๆ ... ใครช่วยชี้แจงหน่อย
124 c# 

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