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

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

12
ไม่เคยเห็นมาก่อน C ++ สำหรับลูป
ฉันกำลังแปลงอัลกอริทึม C ++ เป็น C # ฉันเจอสิ่งนี้เพื่อการวนซ้ำ: for (u = b.size(), v = b.back(); u--; v = p[v]) b[u] = v; มันไม่มีข้อผิดพลาดใน C ++ แต่ทำใน C # (ไม่สามารถแปลง int เป็น bool) ฉันไม่สามารถหาสิ่งนี้สำหรับลูป, เงื่อนไขอยู่ที่ไหน ใครช่วยอธิบายหน่อยได้ไหม? PS เพียงตรวจสอบเพื่อปรับ VECTOR ให้เข้ากับรายการ b.back () สอดคล้องกับ b [b.Count-1] หรือไม่
164 c#  c++  for-loop 


2
เหตุใด WinRT จึงไม่มีการจัดการ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา Windows 8 แนะนำ WinRT ซึ่งเหมือนกับ. NET แต่ไม่มีการจัดการ ทำไมถึงไม่มีการจัดการ มันเป็นปัญหาด้านประสิทธิภาพหรือไม่? หมายความว่าการรวบรวมขยะไม่เหมาะสำหรับ API ระดับล่างหรือไม่

21
การทดสอบหน่วย: DateTime.Now
ฉันมีการทดสอบหน่วยที่คาดว่า 'เวลาปัจจุบัน' จะแตกต่างจาก DateTime ตอนนี้และฉันไม่ต้องการเปลี่ยนเวลาของคอมพิวเตอร์อย่างชัดเจน กลยุทธ์ที่ดีที่สุดในการบรรลุเป้าหมายนี้คืออะไร?

10
ประเภทการอ้างอิงสตริง C #?
ฉันรู้ว่า "สตริง" ใน C # เป็นประเภทอ้างอิง นี่คือบน MSDN อย่างไรก็ตามรหัสนี้ใช้งานไม่ได้ตามที่ควร: class Test { public static void Main() { string test = "before passing"; Console.WriteLine(test); TestI(test); Console.WriteLine(test); } public static void TestI(string test) { test = "after passing"; } } ผลลัพธ์ควรเป็น "ก่อนผ่าน" "หลังจากผ่าน" เนื่องจากฉันผ่านสตริงเป็นพารามิเตอร์และเป็นประเภทการอ้างอิงคำสั่งเอาต์พุตที่สองควรรับรู้ว่าข้อความเปลี่ยนไปในวิธี TestI อย่างไรก็ตามฉันได้รับ "ก่อนผ่าน" "ก่อนผ่าน" ทำให้ดูเหมือนว่ามีการส่งผ่านตามมูลค่าไม่ใช่โดยอ้างอิง ฉันเข้าใจว่าสายไม่เปลี่ยนรูป แต่ฉันไม่เห็นว่าจะอธิบายสิ่งที่เกิดขึ้นที่นี่ ฉันพลาดอะไรไป …
164 c#  string  reference  types 

6
เครื่องหมายตัวหนอนหน้าชื่อฟังก์ชันหมายถึงอะไรใน C #
ฉันกำลังดูรหัสและมีคำสั่งนี้: ~ConnectionManager() { Dispose(false); } คลาสใช้IDisposableอินเทอร์เฟซ แต่ฉันไม่ทราบว่าเป็นส่วนหนึ่งของที่ตัวหนอน (~) ใช้
164 c#  syntax  tilde 

12
ใช้ Random และ Order เป็นอัลกอริธึมการสับเปลี่ยนที่ดีหรือไม่
ฉันได้อ่านบทความเกี่ยวกับขั้นตอนวิธีการสับเปลี่ยนต่างๆมากกว่าที่Coding สยองขวัญ ฉันได้เห็นว่ามีคนทำสิ่งนี้เพื่อสลับรายการ: var r = new Random(); var shuffled = ordered.OrderBy(x => r.Next()); นี่เป็นอัลกอริทึมสลับที่ดีหรือไม่ มันทำงานอย่างไรกันแน่? มันเป็นวิธีที่ยอมรับได้ของการทำเช่นนี้?
164 c#  algorithm  shuffle 

7
ความแตกต่างระหว่างตัวเลือกการซิงโครไนซ์เธรดต่าง ๆ ใน C # คืออะไร
บางคนสามารถอธิบายความแตกต่างระหว่าง: ล็อค (someobject) {} ใช้ Mutex ใช้เซมาฟอร์ ใช้การตรวจสอบ ใช้คลาสการซิงโครไนซ์. Net อื่น ๆ ฉันแค่คิดออกไม่ได้ ดูเหมือนว่าฉันสองคนแรกเหมือนกันหรือไม่

6
คืน enumerables ทั้งหมดพร้อมผลตอบแทนในทันที โดยไม่ต้องวนซ้ำผ่าน
ฉันมีฟังก์ชั่นต่อไปนี้เพื่อรับข้อผิดพลาดในการตรวจสอบความถูกต้องของการ์ด คำถามของฉันเกี่ยวข้องกับการจัดการกับ GetErrors IEnumerable<ErrorInfo>ทั้งสองวิธีมีผลตอบแทนประเภทเดียวกัน private static IEnumerable<ErrorInfo> GetErrors(Card card) { var errors = GetMoreErrors(card); foreach (var e in errors) yield return e; // further yield returns for more validation errors } เป็นไปได้ไหมที่จะส่งคืนข้อผิดพลาดทั้งหมดGetMoreErrorsโดยไม่ต้องแจงผ่านพวกเขา คิดเกี่ยวกับมันอาจเป็นคำถามที่โง่ แต่ฉันต้องการให้แน่ใจว่าฉันจะไม่ผิด

9
ตั้งค่าการหมดเวลาฐานข้อมูลใน Entity Framework
คำสั่งของฉันหมดเวลาดังนั้นฉันต้องเปลี่ยนค่าการหมดเวลาคำสั่งเริ่มต้น ฉันได้พบแต่ก็myDb.Database.Connection.ConnectionTimeoutreadonly ฉันจะตั้งค่าการหมดเวลาของคำสั่งในEntity Framework 5 ได้อย่างไร

9
เรียกใช้แอปพลิเคชัน (.EXE) จาก C # หรือไม่
ฉันจะเปิดแอปพลิเคชันโดยใช้ C # ได้อย่างไร ข้อกำหนด: ต้องทำงานบนWindows XPและWindows VistaVista ฉันได้เห็นตัวอย่างจากตัวอย่างของ DinnerNow.net ที่ใช้งานได้ใน Windows Vista เท่านั้น

11
ฉันจะใช้ส่วนต่อประสานเป็นข้อ จำกัด ประเภท C # ทั่วไปได้อย่างไร
มีวิธีรับฟังก์ชั่นการประกาศต่อไปนี้หรือไม่? public bool Foo<T>() where T : interface; กล่าวคือ โดยที่ T เป็นประเภทอินเตอร์เฟส (คล้ายกับwhere T : classและstruct) ขณะนี้ฉันได้ตัดสิน: public bool Foo<T>() where T : IBase; ที่ IBase ถูกกำหนดให้เป็นอินเตอร์เฟสว่างที่สืบทอดโดยอินเตอร์เฟสแบบกำหนดเองทั้งหมดของฉัน ... ไม่เหมาะ แต่ควรใช้งานได้ ... ทำไมคุณไม่สามารถกำหนดประเภททั่วไปต้องเป็นส่วนติดต่อได้ สำหรับสิ่งที่คุ้มค่าฉันต้องการสิ่งนี้เพราะFooทำสิ่งที่ต้องการอินเทอร์เฟซชนิด ... ฉันสามารถส่งมันเป็นพารามิเตอร์ปกติและทำการตรวจสอบที่จำเป็นในฟังก์ชั่นของตัวเอง สมมติว่ามีประสิทธิภาพมากกว่านี้เล็กน้อยเนื่องจากการตรวจสอบทั้งหมดเสร็จสิ้นในเวลารวบรวม)

4
การมองเห็นเริ่มต้นสำหรับคลาส C และสมาชิก (ฟิลด์วิธีการ ฯลฯ )
ฉันพยายามค้นหาข้อมูลอ้างอิงสำหรับการมองเห็นเริ่มต้นของแง่มุมต่าง ๆ ของ C # ประเภทคลาสฟิลด์วิธีการ enums ฯลฯ ใครสามารถให้รายชื่อของสิ่งเหล่านี้พร้อมกับการมองเห็นเริ่มต้นของพวกเขา (เช่นไม่มีการปรับเปลี่ยนคำนำหน้า)?
164 c# 

4
string.ToLower () และ string.ToLowerInvariant ()
อะไรคือความแตกต่างและเมื่อใช้อะไร สิ่งที่มีความเสี่ยงถ้าฉันมักจะใช้ToLower()และสิ่งที่เป็นความเสี่ยงถ้าฉันมักจะใช้ToLowerInvariant()?
164 c#  .net  string 

4
วิธีการยกเลิกงานในรอ?
ฉันกำลังเล่นกับงาน Windows 8 WinRT เหล่านี้และฉันพยายามยกเลิกงานโดยใช้วิธีการด้านล่างและทำงานได้ในบางจุด มีการเรียกใช้เมธอด CancelNotification ซึ่งทำให้คุณคิดว่างานถูกยกเลิก แต่ในพื้นหลังที่งานยังคงทำงานอยู่หลังจากนั้นเสร็จสถานะของงานจะเสร็จสมบูรณ์เสมอและไม่เคยถูกยกเลิก มีวิธีหยุดงานอย่างสมบูรณ์เมื่อมีการยกเลิกหรือไม่? private async void TryTask() { CancellationTokenSource source = new CancellationTokenSource(); source.Token.Register(CancelNotification); source.CancelAfter(TimeSpan.FromSeconds(1)); var task = Task<int>.Factory.StartNew(() => slowFunc(1, 2), source.Token); await task; if (task.IsCompleted) { MessageDialog md = new MessageDialog(task.Result.ToString()); await md.ShowAsync(); } else { MessageDialog md = new MessageDialog("Uncompleted"); …

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