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

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

10
IEnumerable vs List - จะใช้อะไร? พวกเขาทำงานอย่างไร
ฉันสงสัยว่า Enumerators ทำงานอย่างไรและ LINQ พิจารณาตัวเลือกสองอย่างง่าย ๆ เหล่านี้: List<Animal> sel = (from animal in Animals join race in Species on animal.SpeciesKey equals race.SpeciesKey select animal).Distinct().ToList(); หรือ IEnumerable<Animal> sel = (from animal in Animals join race in Species on animal.SpeciesKey equals race.SpeciesKey select animal).Distinct(); ฉันเปลี่ยนชื่อของวัตถุดั้งเดิมของฉันเพื่อให้ดูเหมือนเป็นตัวอย่างทั่วไปมากขึ้น แบบสอบถามเองไม่สำคัญ สิ่งที่ฉันต้องการถามคือ: foreach (Animal animal in sel) …
677 c#  linq  list  ienumerable 

16
วิธีรับประเภท T จากสมาชิกของคลาสหรือวิธีการทั่วไป
สมมติว่าฉันมีสมาชิกสามัญในชั้นเรียนหรือวิธีการดังนั้น: public class Foo<T> { public List<T> Bar { get; set; } public void Baz() { // get type of T } } เมื่อผมยกตัวอย่างระดับที่Tจะกลายเป็นเพื่อให้ชั้นเรียนมีคุณสมบัติทั่วไปรายการ:MyTypeObject1 List<MyTypeObject1>เช่นเดียวกับวิธีการทั่วไปในชั้นเรียนที่ไม่ใช่ทั่วไป: public class Foo { public void Bar<T>() { var baz = new List<T>(); // get type of T } } ฉันอยากรู้ว่าวัตถุประเภทใดในรายการชั้นเรียนของฉันมี คุณสมบัติของรายการที่เรียกว่าBarหรือตัวแปรท้องถิ่นbazมีชนิดTใด ฉันทำไม่ได้Bar[0].GetType()เพราะรายการอาจมีองค์ประกอบเป็นศูนย์ ฉันจะทำมันได้อย่างไร
675 c#  .net  generics 

14
แปลงทศนิยมให้เป็นสองเท่า
ฉันต้องการใช้ a Track-Barเพื่อเปลี่ยนFormความทึบของ นี่คือรหัสของฉัน: decimal trans = trackBar1.Value / 5000; this.Opacity = trans; เมื่อฉันสร้างแอปพลิเคชันมันทำให้เกิดข้อผิดพลาดต่อไปนี้: ไม่สามารถแปลงประเภทdecimalเป็นdouble ผมได้ลองใช้transและdoubleแต่แล้วControlไม่ทำงาน รหัสนี้ทำงานได้ดีในโครงการ VB.NET ที่ผ่านมา

9
ระเหยกับลูกโซ่กับล็อค
สมมติว่าคลาสมีpublic int counterฟิลด์ที่เข้าถึงได้โดยหลายเธรด นี่intเป็นเพียงการเพิ่มหรือลดเท่านั้น หากต้องการเพิ่มฟิลด์นี้ควรใช้วิธีการใดและเพราะเหตุใด lock(this.locker) this.counter++;, Interlocked.Increment(ref this.counter);, เปลี่ยนการปรับปรุงการเข้าถึงการcounterpublic volatile ตอนนี้ที่ผมได้ค้นพบvolatileฉันได้รับการลบหลายงบและการใช้งานของlock Interlockedแต่มีเหตุผลที่จะไม่ทำเช่นนี้หรือไม่?

30
คุณจะสร้างรายการดร็อปดาวน์จาก enum ใน ASP.NET MVC ได้อย่างไร
Наэтотвопросестьответына กองมากเกินнарусском : Каксоздатьвыпадающийсписокизenum'ав ASP.NET MVC? ฉันพยายามใช้Html.DropDownListวิธีการขยาย แต่ไม่สามารถหาวิธีใช้กับการแจงนับได้ สมมติว่าฉันมีการแจงนับเช่นนี้: public enum ItemTypes { Movie = 1, Game = 2, Book = 3 } ฉันจะสร้างการดร็อปดาวน์ด้วยค่าเหล่านี้โดยใช้Html.DropDownListวิธีการขยายได้อย่างไร หรือเป็นทางออกที่ดีที่สุดของฉันเพียงแค่สร้าง for loop และสร้างองค์ประกอบ Html ด้วยตนเอง
671 c#  asp.net  asp.net-mvc 

16
การแปลงสตริงเป็นอาร์เรย์ไบต์ใน C #
ฉันกำลังแปลงบางสิ่งจาก VB เป็น C # มีปัญหากับไวยากรณ์ของคำสั่งนี้: if ((searchResult.Properties["user"].Count > 0)) { profile.User = System.Text.Encoding.UTF8.GetString(searchResult.Properties["user"][0]); } ฉันเห็นข้อผิดพลาดต่อไปนี้: อาร์กิวเมนต์ 1: ไม่สามารถแปลงจาก 'object' เป็น 'byte []' วิธีการโอเวอร์โหลดที่ดีที่สุดตรงกับ 'System.Text.Encoding.GetString (byte [])' มีอาร์กิวเมนต์ที่ไม่ถูกต้อง ฉันพยายามแก้ไขรหัสตามโพสต์นี้แต่ก็ยังไม่สำเร็จ string User = Encoding.UTF8.GetString("user", 0); ข้อเสนอแนะใด ๆ
670 c#  string  vb.net  encoding  byte 

20
การสั่งซื้อ LINQ แบบไดนามิกโดยใช้ IE จำนวน <T> / IQueryable <T>
ผมพบว่าตัวอย่างเช่นในที่VS2008 ตัวอย่างแบบไดนามิก LINQ ที่ช่วยให้คุณใช้ SQL เหมือนสตริง (เช่นOrderBy("Name, Age DESC"))สำหรับการสั่งซื้อ. แต่วิธีการที่รวมการทำงานเฉพาะบนIQueryable&lt;T&gt;. มีวิธีที่จะได้รับการทำงานนี้ที่ใดIEnumerable&lt;T&gt;?
668 c#  linq  linq-to-objects 

10
ไม่สามารถฝังประเภทการทำงานร่วมกันได้
ฉันกำลังสร้างเว็บแอปพลิเคชันบน. NET 4.0 framework (beta2) ใน C # เมื่อฉันพยายามใช้แอสเซมบลีชื่อ "ActiveHomeScriptLib" ฉันได้รับข้อผิดพลาดต่อไปนี้: ไม่สามารถฝังประเภท Interop 'ActiveHomeScriptLib.ActiveHomeClass' ได้ ใช้อินเทอร์เฟซที่เกี่ยวข้องแทน เมื่อฉันเปลี่ยนกรอบงานเป็นเวอร์ชัน 3.5 ฉันไม่มีข้อผิดพลาดใด ๆ ประเภท Interop คืออะไรและทำไมสิ่งนี้เกิดขึ้นเฉพาะเมื่อฉันใช้กรอบงาน 4.0 เท่านั้น


30
วิธีที่ถูกต้องในการสร้างแอปพลิเคชัน WPF อินสแตนซ์เดียวคืออะไร
การใช้ C # และ WPF ภายใต้. NET (แทนที่จะเป็นWindows Formsหรือ console) วิธีที่ถูกต้องในการสร้างแอปพลิเคชั่นที่สามารถเรียกใช้เป็นเพียงอินสแตนซ์เดียวคืออะไร? ฉันรู้ว่ามันมีบางอย่างเกี่ยวข้องกับบางสิ่งในตำนานที่เรียกว่า mutex ฉันแทบจะไม่สามารถหาคนที่รบกวนและหยุดอธิบายสิ่งเหล่านี้ได้ รหัสจำเป็นต้องแจ้งให้ทราบถึงอินสแตนซ์ที่กำลังทำงานอยู่ซึ่งผู้ใช้พยายามเริ่มต้นครั้งที่สองและอาจส่งผ่านอาร์กิวเมนต์บรรทัดคำสั่งใด ๆ หากมีอยู่
657 c#  .net  wpf  mutex 

14
ใช้ LINQ เพื่อลบองค์ประกอบออกจากรายการ <T>
บอกว่าฉันมีคำสั่ง LINQ เช่น: var authors = from x in authorsList where x.firstname == "Bob" select x; เมื่อระบุว่าauthorsListเป็นประเภทList&lt;Author&gt;ฉันจะลบAuthorองค์ประกอบจากauthorsListสิ่งที่ส่งคืนโดยแบบสอบถามได้authorsอย่างไร หรืออีกวิธีหนึ่งฉันจะลบ Bob ที่เท่ากับของชื่อทั้งหมดได้authorsListอย่างไร หมายเหตุ: นี่เป็นตัวอย่างที่ง่ายสำหรับวัตถุประสงค์ของคำถาม
654 c#  .net  linq  list 

17
ฉันจะปัดเศษทศนิยมเป็นทศนิยม 2 ตำแหน่ง (สำหรับผลลัพธ์บนหน้าเว็บ)
เมื่อแสดงค่าทศนิยมในขณะนี้ด้วย .ToString()ความแม่นยำเหมือนทศนิยม 15 ตำแหน่งและเนื่องจากฉันใช้เพื่อแทนดอลลาร์และเซ็นต์ฉันต้องการเฉพาะผลลัพธ์เป็นทศนิยม 2 ตำแหน่ง ฉันใช้รูปแบบของ.ToString()สิ่งนี้หรือไม่?
649 c#  .net  decimal  rounding 

30
การใช้ INotifyPropertyChanged - มีวิธีที่ดีกว่านี้หรือไม่?
Microsoft ควรนำสิ่งที่น่าสนใจมาใช้INotifyPropertyChangedเช่นในคุณสมบัติอัตโนมัติเพียงระบุว่า{get; set; notify;} ฉันคิดว่ามันสมเหตุสมผลดี หรือมีภาวะแทรกซ้อนใด ๆ ที่จะทำหรือไม่ ตัวเราเองสามารถใช้บางอย่างเช่น 'แจ้งเตือน' ในคุณสมบัติของเรา มีวิธีการแก้ปัญหาที่สง่างามสำหรับการนำไปใช้INotifyPropertyChangedในชั้นเรียนของคุณหรือวิธีเดียวที่จะทำได้คือการเพิ่มPropertyChangedเหตุการณ์ในแต่ละสถานที่ให้บริการ หากเราไม่สามารถเขียนบางสิ่งเพื่อสร้างชิ้นส่วนของรหัสโดยอัตโนมัติเพื่อเพิ่มPropertyChanged เหตุการณ์ได้

18
มี DataReader แบบเปิดที่เชื่อมโยงกับคำสั่งนี้อยู่แล้วซึ่งจะต้องปิดก่อน
ฉันมีคำถามนี้และฉันได้รับข้อผิดพลาดในฟังก์ชั่นนี้: var accounts = from account in context.Accounts from guranteer in account.Gurantors select new AccountsReport { CreditRegistryId = account.CreditRegistryId, AccountNumber = account.AccountNo, DateOpened = account.DateOpened, }; return accounts.AsEnumerable() .Select((account, index) =&gt; new AccountsReport() { RecordNumber = FormattedRowNumber(account, index + 1), CreditRegistryId = account.CreditRegistryId, DateLastUpdated = DateLastUpdated(account.CreditRegistryId, account.AccountNumber), AccountNumber = FormattedAccountNumber(account.AccountType, …


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