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

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



3
วิธีรับเส้นทางไปยังเดสก์ท็อปสำหรับผู้ใช้ปัจจุบันใน C # ได้อย่างไร
ฉันจะหาพา ธ ไปยังเดสก์ท็อปสำหรับผู้ใช้ปัจจุบันใน C # ได้อย่างไร สิ่งเดียวที่ฉันหาได้คือคลาส VB.NET-only SpecialDirectoriesซึ่งมีคุณสมบัตินี้: My.Computer.FileSystem.SpecialDirectories.Desktop ฉันจะทำสิ่งนี้ใน C # ได้อย่างไร

7
วิธีการประกาศตัวแปรท้องถิ่นในมีดโกน?
ฉันกำลังพัฒนาเว็บแอปพลิเคชั่นใน asp.net mvc 3 ฉันใหม่มาก ในมุมมองที่ใช้มีดโกนฉันต้องการประกาศตัวแปรท้องถิ่นบางส่วนและใช้มันตลอดทั้งหน้า สิ่งนี้สามารถทำได้? ดูเหมือนเป็นเรื่องเล็กน้อยที่จะสามารถทำสิ่งต่อไปนี้: @bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName); @if (isUserConnected) { // meaning that the viewing user has not been saved <div> <div> click to join us </div> <a id="login" href="javascript:void(0);" style="display: inline; ">join</a> </div> } แต่มันไม่ได้ผล เป็นไปได้ไหม


11
เขตข้อมูลสาธารณะเปรียบเทียบกับคุณสมบัติอัตโนมัติ
เรามักจะบอกว่าเราควรปกป้องการห่อหุ้มด้วยวิธีการ getter และ setter (คุณสมบัติใน C #) สำหรับฟิลด์คลาสแทนที่จะเปิดเผยฟิลด์กับโลกภายนอก แต่มีหลายครั้งที่เขตข้อมูลอยู่ที่นั่นเพื่อเก็บค่าและไม่ต้องการการคำนวณหรือตั้งค่า สำหรับสิ่งเหล่านี้เราทุกคนจะทำตามหมายเลขนี้: public class Book { private string _title; public string Title { get{ return _title; } set{ _title = value; } } } ฉันมีคำสารภาพฉันทนไม่ได้ที่จะเขียนทุกอย่าง (จริง ๆ แล้วมันไม่จำเป็นต้องเขียนมันต้องดูมัน) ดังนั้นฉันจึงไปโกงและใช้พื้นที่สาธารณะ จากนั้นมาพร้อม C # 3.0 และฉันเห็นว่าพวกเขาเพิ่มคุณสมบัติอัตโนมัติ: public class Book { public string Title {get; …

26
คุณสามารถโทร Directory.GetFiles () พร้อมตัวกรองหลายตัวได้หรือไม่
ฉันกำลังพยายามใช้Directory.GetFiles()วิธีการเพื่อเรียกคืนรายการไฟล์หลายประเภทเช่นmp3's และjpg' s ฉันได้ลองทั้งสองอย่างโดยไม่มีโชค: Directory.GetFiles("C:\\path", "*.mp3|*.jpg", SearchOption.AllDirectories); Directory.GetFiles("C:\\path", "*.mp3;*.jpg", SearchOption.AllDirectories); มีวิธีการในการโทรครั้งเดียวหรือไม่?
353 c#  filesystems  .net 

30
ฉันควรใช้ int หรือ Int32
ใน C # intและInt32เป็นสิ่งเดียวกัน แต่ฉันได้อ่านหลายครั้งที่intต้องการมากกว่าInt32โดยไม่มีเหตุผล มีเหตุผลหรือไม่และฉันควรจะใส่ใจไหม?
352 c#  variable-types 


13
มันสมเหตุสมผลไหมที่จะใช้“ เป็น” แทนที่จะใช้ตัวละครถึงแม้ว่าจะไม่มีการตรวจสอบที่เป็นโมฆะ? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ในบล็อกการพัฒนาตัวอย่างรหัสออนไลน์และ (เมื่อเร็ว ๆ นี้) แม้แต่หนังสือฉันยังคงสะดุดเกี่ยวกับรหัสเช่นนี้: var y = x as T; y.SomeMethod(); หรือแย่ยิ่งกว่า: (x as T).SomeMethod(); นั่นไม่สมเหตุสมผลสำหรับฉัน ถ้าคุณแน่ใจว่าxเป็นประเภทที่คุณควรใช้โยนโดยตรง:T (T)xหากคุณไม่แน่ใจคุณสามารถใช้asแต่จำเป็นต้องตรวจสอบnullก่อนดำเนินการบางอย่าง ทุกสิ่งที่โค้ดข้างต้นไม่สามารถที่จะเปิด (ประโยชน์) InvalidCastExceptionเป็น NullReferenceException(ไม่มีประโยชน์) ฉันเป็นคนเดียวที่คิดว่านี่เป็นการละเมิดasคำหลักที่โจ่งแจ้งหรือไม่ หรือว่าฉันพลาดบางสิ่งบางอย่างที่ชัดเจนและรูปแบบข้างต้นนั้นสมเหตุสมผล

5
กลุ่มวิธีใน C # คืออะไร?
ฉันมักจะพบข้อผิดพลาดเช่น "ไม่สามารถแปลงจาก 'กลุ่มวิธี' เป็น 'สตริง'" ในกรณีเช่น: var list = new List<string>(); // ... snip list.Add(someObject.ToString); ToStringแน่นอนมีการพิมพ์ผิดในบรรทัดสุดท้ายเพราะฉันลืมวงเล็บภาวนาหลังจาก แบบฟอร์มที่ถูกต้องจะเป็น: var list = new List<string>(); // ... snip list.Add(someObject.ToString()); // <- notice the parentheses อย่างไรก็ตามฉันมาสงสัยว่ากลุ่มวิธีคืออะไร Googleไม่มากของความช่วยเหลือที่มิได้MSDN
351 c#  .net  method-group 

6
วิธีการพิมพ์ Stack Trace ปัจจุบันใน. NET โดยไม่มีข้อยกเว้น?
ฉันมีรหัส C # ปกติ ผมไม่มีข้อยกเว้น ฉันต้องการบันทึกการติดตามสแต็กปัจจุบันโดยทางโปรแกรมเพื่อวัตถุประสงค์ในการดีบัก ตัวอย่าง: public void executeMethod() { logStackTrace(); method(); }


8
ทำไมฉันไม่สามารถใช้โอเปอเรเตอร์ 'ที่รอ' อยู่ภายในเนื้อความของคำสั่งล็อกได้
ไม่อนุญาตให้ใช้คำสำคัญที่รอใน C # (. NET Async CTP) จากMSDN : ไม่สามารถใช้นิพจน์ที่รออยู่ในฟังก์ชันซิงโครนัสในนิพจน์แบบสอบถามใน catch หรือ block สุดท้ายของคำสั่งการจัดการข้อยกเว้นในบล็อกคำสั่งล็อกหรือในบริบทที่ไม่ปลอดภัย ฉันคิดว่านี่เป็นเรื่องยากหรือเป็นไปไม่ได้สำหรับทีมคอมไพเลอร์ที่จะใช้ด้วยเหตุผลบางอย่าง ฉันพยายามแก้ไขด้วยคำสั่งการใช้: class Async { public static async Task<IDisposable> Lock(object obj) { while (!Monitor.TryEnter(obj)) await TaskEx.Yield(); return new ExitDisposable(obj); } private class ExitDisposable : IDisposable { private readonly object obj; public ExitDisposable(object obj) { this.obj = …
348 c#  .net  async-await 

30
ข้อความแสดงข้อผิดพลาด 'ไม่สามารถโหลดประเภทที่ขอหนึ่งประเภทขึ้นไป รับคุณสมบัติ LoaderExceptions สำหรับข้อมูลเพิ่มเติม '
ฉันได้พัฒนาแอพพลิเคชั่นโดยใช้Entity Framework , SQL Server 2000, Visual Studio 2008 และ Enterprise Library มันทำงานได้ดีในพื้นที่ แต่เมื่อฉันปรับใช้โครงการกับสภาพแวดล้อมการทดสอบของเราฉันได้รับข้อผิดพลาดต่อไปนี้: ไม่สามารถโหลดประเภทที่ขอหนึ่งประเภทขึ้นไป ดึงข้อมูลคุณสมบัติ LoaderExceptions สำหรับข้อมูลเพิ่มเติม การติดตามสแต็ก: ที่ System.Reflection.Module._GetTypesInternal (StackCrawlMark & ​​stackMark) ที่ System.Reflection.Assembly.GetTypes () ที่ System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadTypesFromAssembly (บริบทการโหลดบริบท) ที่ System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.InternalLoadAssemblyFromCache (บริบทการโหลดบริบท) ที่ System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadAssemblyFromCache (ชุดประกอบ, บูลีน loadReferencedAssemblies, พจนานุกรม2 knownAssemblies, Dictionary2 & typesInLoading, List`1 & ข้อผิดพลาด) ที่ System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache (ObjectItemCollection objectItemCollection …

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