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

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

15
ฉันจะค้นหาไดเร็กทอรีหลักใน C # ได้อย่างไร
ฉันใช้รหัสนี้เพื่อค้นหาไดเร็กทอรีดีบัก public string str_directory = Environment.CurrentDirectory.ToString(); "C:\\Users\\Masoud\\Documents\\Visual Studio 2008\\Projects\\MyProj\\MyProj\\bin\\Debug" ฉันจะค้นหาโฟลเดอร์หลักตามที่แสดงด้านล่างได้อย่างไร "C:\\Users\\Masoud\\Documents\\Visual Studio 2008\\Projects\\MyProj\\MyProj"

3
อะไรคือ ?[]? ไวยากรณ์ใน C #?
ขณะที่ผมกำลังศึกษาผู้ร่วมประชุมที่เป็นจริงในระดับนามธรรมDelegate.csผมเห็นวิธีการต่อไปในที่ที่ฉันไม่เข้าใจ เหตุใดค่าส่งคืนจึง?ถึงแม้ว่ามันเป็นชนิดการอ้างอิง ( คลาส ) อยู่แล้ว ?[]? ความหมายกับพารามิเตอร์ คุณอธิบายได้ไหม public static Delegate? Combine(params Delegate?[]? delegates) { if (delegates == null || delegates.Length == 0) return null; Delegate? d = delegates[0]; for (int i = 1; i < delegates.Length; i++) d = Combine(d, delegates[i]); return d; }

7
{0} เมื่อพบสตริงใน C # หมายความว่าอย่างไร
ในพจนานุกรมเช่นนี้: Dictionary<string, string> openWith = new Dictionary<string, string>(); openWith.Add("txt", "notepad.exe"); openWith.Add("bmp", "paint.exe"); openWith.Add("dib", "paint.exe"); openWith.Add("rtf", "wordpad.exe"); Console.WriteLine("For key = \"rtf\", value = {0}.", openWith["rtf"]); ผลลัพธ์คือ: สำหรับ Key = "rtf" value = wordpad.exe อะไร{0}หมายถึง?
85 c#  string  formatting 



10
การสิ้นสุดเธรด C # และเธรดเธรด ()
ใน MSDN คำอธิบายของเมธอด Thread.Abort () ระบุว่า: "การเรียกใช้เมธอดนี้มักจะยุติเธรด" ทำไมไม่อยู่เสมอ? ในกรณีใดบ้างที่ไม่ยุติเธรด มีความเป็นไปได้อื่น ๆ ในการยุติเธรดหรือไม่

9
รอคอยในการสกัดกั้น
ฉันมีรหัสต่อไปนี้: WebClient wc = new WebClient(); string result; try { result = await wc.DownloadStringTaskAsync( new Uri( "http://badurl" ) ); } catch { result = await wc.DownloadStringTaskAsync( new Uri( "http://fallbackurl" ) ); } โดยทั่วไปฉันต้องการดาวน์โหลดจาก URL และเมื่อล้มเหลวโดยมีข้อยกเว้นฉันต้องการดาวน์โหลดจาก URL อื่น ทั้งสองเวลาไม่ตรงกันแน่นอน อย่างไรก็ตามรหัสไม่ได้รวบรวมเนื่องจาก ข้อผิดพลาด CS1985: ไม่สามารถรอในเนื้อหาของประโยค catch ตกลงห้ามไม่ว่าด้วยเหตุผลใด แต่รูปแบบรหัสที่ถูกต้องนี่คืออะไร แก้ไข: ข่าวดีก็คือว่าC # 6.0 มีแนวโน้มที่จะช่วยให้สายรอคอยทั้งในและในที่สุดก็จับบล็อก

10
C # โอเคกับการเปรียบเทียบประเภทค่าเป็นโมฆะ
ฉันพบสิ่งนี้ในวันนี้และไม่รู้ว่าทำไมคอมไพเลอร์ C # ไม่แสดงข้อผิดพลาด Int32 x = 1; if (x == null) { Console.WriteLine("What the?"); } ฉันสับสนว่า x จะเป็นโมฆะได้อย่างไร โดยเฉพาะอย่างยิ่งเนื่องจากการมอบหมายนี้ทำให้เกิดข้อผิดพลาดของคอมไพเลอร์อย่างแน่นอน: Int32 x = null; เป็นไปได้ไหมที่ x อาจกลายเป็นโมฆะ Microsoft เพิ่งตัดสินใจที่จะไม่ใส่เช็คนี้ลงในคอมไพเลอร์หรือว่าพลาดไปโดยสิ้นเชิง? อัปเดต: หลังจากยุ่งกับรหัสเพื่อเขียนบทความนี้ทันใดนั้นคอมไพเลอร์ก็แจ้งเตือนว่านิพจน์จะไม่เป็นจริง ตอนนี้ฉันหลงทางจริงๆ ฉันใส่ออบเจ็กต์ลงในคลาสและตอนนี้คำเตือนหายไปแล้วเหลือ แต่คำถามประเภทค่าจะกลายเป็นโมฆะได้หรือไม่ public class Test { public DateTime ADate = DateTime.Now; public Test () { Test test = …
85 c#  null 

12
ทางเลือกอื่นที่เร็วกว่าสำหรับลูปแบบซ้อนกัน?
ฉันมีความต้องการที่จะสร้างรายการชุดตัวเลข ตัวเลขที่มีขนาดเล็กมากเพื่อให้สามารถใช้มากกว่าbyte intอย่างไรก็ตามต้องใช้ลูปที่ซ้อนกันหลายอันเพื่อให้ได้ชุดค่าผสมที่เป็นไปได้ทั้งหมด ฉันสงสัยว่าจะมีวิธีที่มีประสิทธิภาพมากกว่านี้ในการทำสิ่งที่ฉันต้องการหรือไม่ รหัสจนถึงตอนนี้คือ: var data = new List<byte[]>(); for (byte a = 0; a < 2; a++) for (byte b = 0; b < 3; b++) for (byte c = 0; c < 4; c++) for (byte d = 0; d < 3; d++) for (byte e = …
85 c#  combinations 

14
ใน C # ทำไมไม่สามารถเก็บวัตถุ List <string> ในตัวแปร List <object> ได้
ดูเหมือนว่าวัตถุ List ไม่สามารถเก็บไว้ในตัวแปร List ใน C # และไม่สามารถแคสต์อย่างชัดเจนด้วยวิธีนั้นได้ List&lt;string&gt; sl = new List&lt;string&gt;(); List&lt;object&gt; ol; ol = sl; ผลลัพธ์ในไม่สามารถแปลงประเภทโดยปริยายSystem.Collections.Generic.List&lt;string&gt;เป็นSystem.Collections.Generic.List&lt;object&gt; แล้ว ... List&lt;string&gt; sl = new List&lt;string&gt;(); List&lt;object&gt; ol; ol = (List&lt;object&gt;)sl; ผลลัพธ์ในไม่สามารถแปลงประเภทSystem.Collections.Generic.List&lt;string&gt;เป็นSystem.Collections.Generic.List&lt;object&gt; แน่นอนคุณสามารถทำได้โดยดึงทุกอย่างออกจากรายการสตริงและใส่กลับเข้าไปทีละรายการ แต่เป็นวิธีแก้ปัญหาที่ค่อนข้างซับซ้อน

9
ส่งออกเป็น CSV โดยใช้ MVC, C # และ jQuery
ฉันกำลังพยายามส่งออกรายการเป็นไฟล์ CSV ฉันทำให้ทุกอย่างทำงานได้ถึงจุดที่ฉันต้องการเขียนลงในไฟล์ไปยังสตรีมตอบกลับ นี่ไม่ได้ทำอะไร นี่คือรหัสของฉัน: เรียกใช้เมธอดจากเพจ $('#btn_export').click(function () { $.post('NewsLetter/Export'); }); รหัสในคอนโทรลเลอร์มีดังนี้: [HttpPost] public void Export() { try { var filter = Session[FilterSessionKey] != null ? Session[FilterSessionKey] as SubscriberFilter : new SubscriberFilter(); var predicate = _subscriberService.BuildPredicate(filter); var compiledPredicate = predicate.Compile(); var filterRecords = _subscriberService.GetSubscribersInGroup().Where(x =&gt; !x.IsDeleted).AsEnumerable().Where(compiledPredicate).GroupBy(s =&gt; s.Subscriber.EmailAddress).OrderBy(x =&gt; x.Key); …
85 c#  jquery  asp.net-mvc  csv 

17
ฉันจะแก้จุดบกพร่องของบริการ Windows ใน Visual Studio ได้อย่างไร
เป็นไปได้ไหมที่จะดีบักบริการของ Windows ใน Visual Studio ฉันใช้รหัสเช่น System.Diagnostics.Debugger.Break(); แต่มันให้ข้อผิดพลาดรหัสบางอย่างเช่น: ฉันได้รับข้อผิดพลาดสองเหตุการณ์: eventID 4096 VsJITDebugger และ "บริการไม่ตอบสนองต่อคำขอเริ่มต้นหรือการควบคุมในเวลาที่เหมาะสม"

5
การทำเครื่องหมาย Class Static ใน VB.NET
ตามที่ระบุไว้ในคำถามและคำตอบล่าสุดคุณไม่สามารถสืบทอดจากคลาสคงที่ได้ เราบังคับใช้กฎที่ไปพร้อมกับคลาสแบบคงที่ภายใน VB.NET อย่างไร เนื่องจากเฟรมเวิร์กเข้ากันได้ระหว่าง C # และ VB มันจึงสมเหตุสมผลที่จะมีวิธีทำเครื่องหมายคลาสแบบคงที่ แต่ดูเหมือนจะไม่มีทาง
85 c#  vb.net 

7
WPF ListView: การแนบเหตุการณ์ดับเบิลคลิก (บนรายการ)
ฉันมีสิ่งต่อไปนี้ListView: &lt;ListView Name="TrackListView"&gt; &lt;ListView.View&gt; &lt;GridView&gt; &lt;GridViewColumn Header="Title" Width="100" HeaderTemplate="{StaticResource BlueHeader}" DisplayMemberBinding="{Binding Name}"/&gt; &lt;GridViewColumn Header="Artist" Width="100" HeaderTemplate="{StaticResource BlueHeader}" DisplayMemberBinding="{Binding Album.Artist.Name}" /&gt; &lt;/GridView&gt; &lt;/ListView.View&gt; &lt;/ListView&gt; ฉันจะแนบเหตุการณ์กับทุกรายการที่ถูกผูกไว้ซึ่งจะเริ่มทำงานเมื่อดับเบิลคลิกที่รายการนั้นได้อย่างไร
85 c#  wpf  xaml 

8
ฉันจะใช้ OrderBy บน IQueryable โดยใช้ชื่อคอลัมน์สตริงภายในวิธีการขยายทั่วไปได้อย่างไร
public static IQueryable&lt;TResult&gt; ApplySortFilter&lt;T, TResult&gt;(this IQueryable&lt;T&gt; query, string columnName) where T : EntityObject { var param = Expression.Parameter(typeof(T), "o"); var body = Expression.PropertyOrField(param,columnName); var sortExpression = Expression.Lambda(body, param); return query.OrderBy(sortExpression); } เนื่องจากประเภทของ OrderBy ไม่ได้อนุมานจาก sortExpression ฉันต้องระบุสิ่งนี้ในขณะทำงาน: var sortExpression = Expression.Lambda&lt;T, TSortColumn&gt;(body, param); หรือ return query.OrderBy&lt;T, TSortColumn&gt;(sortExpression); ฉันไม่คิดว่าจะเป็นไปได้อย่างไรก็ตามเนื่องจาก TSortColumn สามารถกำหนดได้ในระหว่างรันไทม์เท่านั้น มีวิธีแก้ปัญหานี้หรือไม่?

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