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

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

28
C + + เร็วกว่า C # เร็วเท่าใด
หรือตอนนี้เป็นวิธีอื่น ๆ ? จากสิ่งที่ฉันได้ยินมีบางพื้นที่ที่ C # พิสูจน์ได้ว่าเร็วกว่า C ++ แต่ฉันไม่เคยกล้าพอที่จะทดสอบด้วยตัวเอง คิดว่าคุณคนใดสามารถอธิบายความแตกต่างในรายละเอียดเหล่านี้หรือชี้ให้ฉันถูกที่สำหรับข้อมูลนี้

16
มีเหตุผลใดที่จะใช้คุณสมบัติส่วนตัวใน C # หรือไม่
ฉันเพิ่งรู้ว่าการสร้างคุณสมบัติ C # สามารถใช้กับโมดิฟายเออร์ส่วนตัวได้ : private string Password { get; set; } แม้ว่านี่จะเป็นที่น่าสนใจในทางเทคนิค, ฉันไม่สามารถจินตนาการเมื่อผมจะใช้มันตั้งแต่ข้อมูลส่วนตัวที่เกี่ยวข้องกับการแม้กระทั่งพิธีน้อย : private string _password; และฉันไม่สามารถจินตนาการได้ว่าเมื่อใดที่ฉันจะต้องได้รับภายในแต่ไม่ได้ตั้งค่าหรือตั้งค่าแต่ไม่ได้รับข้อมูลส่วนตัว: private string Password { get; } หรือ private string Password { set; } แต่อาจจะมีกรณีการใช้งานกับคลาสที่ซ้อนกัน / สืบทอดหรืออาจเป็นที่ / ชุด / อาจมีตรรกะแทนเพียงแค่คืนค่าของคุณสมบัติแม้ว่าฉันจะมีแนวโน้มที่จะรักษาคุณสมบัติที่เรียบง่ายอย่างเคร่งครัดและให้วิธีการที่ชัดเจนทำตรรกะใด ๆ GetEncodedPassword()เช่น ไม่มีใครใช้คุณสมบัติส่วนตัวใน C # ด้วยเหตุผลใดก็ตามหรือเป็นเพียงหนึ่งในโครงสร้างทางเทคนิคที่เป็นไปได้ แต่ไม่ค่อยมีคนใช้จริง ภาคผนวก คำตอบที่ดีอ่านผ่านพวกเขาฉันคัดการใช้งานเหล่านี้สำหรับคุณสมบัติส่วนตัว: เมื่อฟิลด์ส่วนตัวจำเป็นต้องโหลดอย่างเกียจคร้าน เมื่อเขตข้อมูลส่วนตัวต้องการตรรกะเพิ่มเติมหรือเป็นค่าที่คำนวณได้ …

17
จะอัปเดตระเบียนโดยใช้ Entity Framework 6 ได้อย่างไร
ฉันกำลังพยายามอัปเดตบันทึกโดยใช้ EF6 ก่อนอื่นให้ค้นหาระเบียนหากมีอยู่ให้อัปเดต นี่คือรหัสของฉัน: - var book = new Model.Book { BookNumber = _book.BookNumber, BookName = _book.BookName, BookTitle = _book.BookTitle, }; using (var db = new MyContextDB()) { var result = db.Books.SingleOrDefault(b => b.BookNumber == bookNumber); if (result != null) { try { db.Books.Attach(book); db.Entry(book).State = EntityState.Modified; db.SaveChanges(); } catch …

30
System.MissingMethodException: ไม่พบวิธี?
สิ่งที่ครั้งหนึ่งเคยทำงานในแอป asp.net webforms ของฉันตอนนี้โยนข้อผิดพลาดนี้: System.MissingMethodException: ไม่พบวิธีการ DoThisวิธีการที่อยู่ในระดับเดียวกันและมันควรจะทำงาน ฉันมีตัวจัดการทั่วไปเช่น: public class MyHandler: IHttpHandler { public void Processrequest(HttpContext context) { // throws error now System.MissingMethodException: Method not found? this.DoThis(); } public void DoThis() { // } }
245 c#  asp.net  dll  nuget  httphandler 

10
ความแตกต่างระหว่าง 'ที่ได้รับการป้องกัน' และ 'การป้องกันภายใน' คืออะไร
ใครสามารถช่วยอธิบายความแตกต่างระหว่างตัวดัดแปลง 'ที่ได้รับการป้องกัน' และ 'ที่ได้รับการป้องกันภายใน' ใน C # ได้หรือไม่? ดูเหมือนว่าพวกเขาจะทำงานในลักษณะเดียวกัน

12
วิธีการรวมใน LINQ บนหลาย ๆ ฟิลด์ในการเข้าร่วมครั้งเดียว
ฉันต้องทำแบบสอบถาม LINQ2DataSet ที่เข้าร่วมในมากกว่าหนึ่งฟิลด์ (เช่น var result = from x in entity join y in entity2 on x.field1 = y.field1 and x.field2 = y.field2 ฉันยังพบวิธีแก้ปัญหาที่เหมาะสม (ฉันสามารถเพิ่มข้อ จำกัด พิเศษให้กับส่วนคำสั่งได้ แต่นี่อยู่ไกลจากโซลูชันที่เหมาะสมหรือใช้โซลูชันนี้แต่ถือว่าเป็น equijoin) เป็นไปได้ใน LINQ ที่จะเข้าร่วมในหลายสาขาในการเข้าร่วมเดียว? แก้ไข var result = from x in entity join y in entity2 on new { x.field1, x.field2 } …
244 c#  linq  join 


3
การเข้าถึงแบบคำนึงถึงขนาดตัวพิมพ์เล็กและใหญ่สำหรับพจนานุกรมทั่วไป
ฉันมีแอปพลิเคชันที่ใช้ Dll ที่ได้รับการจัดการ หนึ่งใน Dll เหล่านั้นส่งคืนพจนานุกรมทั่วไป: Dictionary<string, int> MyDictionary; พจนานุกรมประกอบด้วยปุ่มที่มีตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ในอีกด้านหนึ่งฉันได้รับรายการของคีย์ที่อาจเกิดขึ้น (สตริง) แต่ฉันไม่สามารถรับประกันกรณี ฉันพยายามรับค่าในพจนานุกรมโดยใช้ปุ่ม แต่แน่นอนว่าสิ่งต่อไปนี้จะล้มเหลวเนื่องจากฉันมีขนาดตัวพิมพ์ไม่ตรงกัน: bool Success = MyDictionary.TryGetValue( MyIndex, out TheValue ); ฉันหวังว่า TryGetValue จะมีการตั้งค่าสถานะตัวพิมพ์เล็ก - ใหญ่เหมือนที่กล่าวไว้ในเอกสาร MSDNแต่ดูเหมือนว่านี่จะไม่ถูกต้องสำหรับพจนานุกรมทั่วไป มีวิธีการรับค่าของพจนานุกรมที่ละเว้นกรณีสำคัญหรือไม่ มีวิธีแก้ปัญหาที่ดีกว่าการสร้างสำเนาใหม่ของพจนานุกรมด้วยพารามิเตอร์StringComparer.OrdinalIgnoreCaseที่เหมาะสมหรือไม่
244 c#  generics  dictionary 

22
MVVM: การสอนตั้งแต่ต้นจนจบ?
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันเป็นโปรแกรมเมอร์แบบฟอร์ม C # / Windows ที่มีประสบการณ์มากกว่า 5 ปี ฉันตรวจสอบ WPF โดยใช้รูปแบบการออกแบบ MVVM (Model-View-ViewModel) ฉันค้นหาบทเรียนทางอินเทอร์เน็ต ฉันได้ดูวิดีโอที่ยอดเยี่ยมทั้งหมดของ Jason Dolinger ด้วยซ้ำ แม้ว่าฉันจะได้พบมากฉันไม่ได้พบคนที่พาฉันตั้งแต่ต้นจนจบ สิ่งที่ฉันต้องการจริงๆคือบทช่วยสอนที่ไม่ถือว่าความรู้ WPF ก่อนหน้านี้ อะไรคือบทช่วยสอน WPF-MVVM ที่คุณโปรดปรานที่ช่วยให้คุณเรียนรู้?
243 c#  .net  wpf  mvvm 

18
พบการกระทำหลายอย่างที่ตรงกับคำขอใน Web Api
ฉันได้รับข้อผิดพลาดนี้อย่างต่อเนื่องเมื่อพยายามใช้วิธี 2 "รับ" พบการกระทำหลายอย่างที่ตรงกับคำขอ: webapi ฉันได้ดูรอบ ๆ คำถามที่คล้ายกันเกี่ยวกับเรื่องนี้ในกอง แต่ฉันไม่ได้รับมัน ฉันมี 2 ชื่อต่างกันและใช้แอตทริบิวต์ "HttpGet" [HttpGet] public HttpResponseMessage Summary(MyVm vm) { return null; } [HttpGet] public HttpResponseMessage FullDetails() { return null; }

28
การส่งอีเมลผ่านเซิร์ฟเวอร์ Gmail SMTP ด้วย C #
ด้วยเหตุผลบางอย่างทั้งคำตอบที่ยอมรับและอื่น ๆ ไม่ทำงานสำหรับฉันสำหรับ "การส่งอีเมลใน. NET ผ่าน Gmail " ทำไมพวกเขาถึงไม่ทำงาน อัปเดต: ฉันได้ลองคำตอบทั้งหมด (ยอมรับและเป็นอย่างอื่น) ในคำถามอื่น แต่ไม่มีคำตอบใด ๆ ฉันแค่อยากจะรู้ว่ามันใช้งานได้กับคนอื่นมิฉะนั้น Google อาจมีการเปลี่ยนแปลงบางสิ่งบางอย่าง (ซึ่งเกิดขึ้นก่อน) เมื่อฉันลองใช้ชิ้นส่วนของรหัสที่ใช้SmtpDeliveryMethod.Networkฉันจะได้รับ SmtpException บน Send (ข้อความ) อย่างรวดเร็ว ข้อความคือ เซิร์ฟเวอร์ SMTP ต้องการการเชื่อมต่อที่ปลอดภัยหรือไคลเอ็นต์ไม่ได้รับการตรวจสอบความถูกต้อง การตอบกลับของเซิร์ฟเวอร์คือ: 5.5.1 ต้องมีการรับรองความถูกต้อง เรียนรู้เพิ่มเติมที่ "<- อย่างจริงจังมันสิ้นสุดที่นั่น UPDATE: นี่เป็นคำถามที่ฉันถามเมื่อนานมาแล้วและคำตอบที่ยอมรับได้คือรหัสที่ฉันใช้ไปหลายครั้งหลายครั้งในโครงการที่แตกต่างกัน ฉันเอาบางส่วนของความคิดในการโพสต์นี้และโครงการ EmailSender อื่น ๆ ในการสร้างโครงการ EmailSender ที่ Codeplex มันถูกออกแบบมาสำหรับการทดสอบและรองรับบริการ SMTP ที่ฉันโปรดปรานเช่น GoDaddy และ …
243 c#  .net  email  smtp  gmail 

11
วิธีที่ดีที่สุดในการระบุช่องว่างในการดำเนินงาน String.Split
ฉันกำลังแยกสตริงตามช่องว่างดังนี้: string myStr = "The quick brown fox jumps over the lazy dog"; char[] whitespace = new char[] { ' ', '\t' }; string[] ssizes = myStr.Split(whitespace); มันเป็นเรื่องที่น่ากลัวที่จะกำหนด char [] ทุกที่ในรหัสของฉันฉันต้องการทำ มีวิธีที่มีประสิทธิภาพมากกว่าที่ไม่ต้องการการสร้างอาร์เรย์อักขระ (ซึ่งมีแนวโน้มที่จะเกิดข้อผิดพลาดหากคัดลอกในที่ต่าง ๆ ) หรือไม่?
243 c#  string 


8
ฉันจะมั่นใจได้อย่างไรว่าการหารจำนวนเต็มจะปัดเศษขึ้นเสมอ?
ฉันต้องการให้แน่ใจว่าการหารจำนวนเต็มจะถูกปัดเศษขึ้นเสมอหากจำเป็น มีวิธีที่ดีกว่านี้ไหม มีการหล่อที่เกิดขึ้นมากมาย :-) (int)Math.Ceiling((double)myInt1 / myInt2)
242 c#  math 

11
หากการรอคอยแบบ async ไม่ได้สร้างหัวข้อเพิ่มเติมใด ๆ แล้วจะทำให้แอปพลิเคชันตอบสนองได้อย่างไร
ครั้งแล้วครั้งเล่าฉันเห็นว่าการใช้async- awaitไม่ได้สร้างกระทู้เพิ่มเติม ไม่เป็นไรเพราะวิธีการเดียวที่คอมพิวเตอร์สามารถทำได้มากกว่า 1 อย่างในเวลาเดียวคือ จริง ๆ แล้วทำสิ่งต่าง ๆ มากกว่า 1 ครั้ง (ดำเนินการแบบขนานใช้หลายโปรเซสเซอร์) จำลองสถานการณ์โดยการกำหนดตารางงานและสลับไปมาระหว่างกัน (ทำ A เล็กน้อย, B เล็กน้อย, A เล็กน้อย, ฯลฯ ) ดังนั้นถ้าasync- awaitไม่ทำสิ่งเหล่านั้นมันจะทำให้แอปพลิเคชันตอบสนองได้อย่างไร หากมีเพียงเธรดเดียวเท่านั้นการเรียกใช้เมธอดใด ๆ หมายถึงการรอให้เมธอดดำเนินการให้เสร็จสิ้นก่อนที่จะทำสิ่งอื่นและวิธีการที่อยู่ภายในเมธอดนั้นต้องรอผลก่อนดำเนินการต่อไปเรื่อย ๆ

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