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

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

8
ใช้งาน async หลายงานและรอให้การดำเนินการทั้งหมดเสร็จสมบูรณ์
ฉันต้องเรียกใช้งาน async หลายรายการในแอปพลิเคชันคอนโซลและรอให้งานทั้งหมดดำเนินการจนเสร็จสิ้น มีบทความมากมายที่นั่น แต่ฉันดูเหมือนจะสับสนมากยิ่งฉันอ่าน ฉันได้อ่านและทำความเข้าใจหลักการพื้นฐานของ Task Library แล้ว แต่ฉันขาดการเชื่อมโยงอย่างชัดเจน ฉันเข้าใจว่าเป็นไปได้ที่จะเชื่อมโยงงานเพื่อให้พวกเขาเริ่มต้นหลังจากเสร็จสมบูรณ์ (ซึ่งเป็นสถานการณ์ที่ค่อนข้างมากสำหรับบทความทั้งหมดที่ฉันได้อ่าน) แต่ฉันต้องการให้งานทั้งหมดของฉันทำงานพร้อมกันและฉันอยากรู้อีกครั้ง เสร็จสิ้นทั้งหมด การใช้งานที่ง่ายที่สุดสำหรับสถานการณ์เช่นนี้คืออะไร

12
เมื่อใดฉันจึงควรใช้สองเท่าแทนทศนิยม
ฉันสามารถตั้งชื่อข้อดีสามข้อให้กับการใช้double(หรือfloat) แทนdecimal: ใช้หน่วยความจำน้อยลง เร็วขึ้นเนื่องจากการดำเนินการทางคณิตศาสตร์ของจุดลอยตัวได้รับการสนับสนุนโดยตัวประมวลผล สามารถแสดงช่วงของตัวเลขที่มากขึ้น แต่ข้อดีเหล่านี้ดูเหมือนจะใช้เฉพาะกับการคำนวณการดำเนินการที่เข้มข้นเช่นที่พบในซอฟต์แวร์การสร้างแบบจำลอง แน่นอนไม่ควรใช้คู่ผสมเมื่อต้องการความแม่นยำเช่นการคำนวณทางการเงิน ดังนั้นมีเหตุผลเชิงปฏิบัติใดที่เคยเลือกdouble(หรือfloat) แทนที่จะdecimalใช้แอปพลิเคชัน "ปกติ" แก้ไขเพื่อเพิ่ม: ขอบคุณสำหรับคำตอบที่ยอดเยี่ยมทั้งหมดฉันเรียนรู้จากพวกเขา คำถามอีกข้อหนึ่ง: มีคนเพียงไม่กี่คนที่ชี้ให้เห็นว่าการเป็นตัวแทนจำนวนจริงนั้นแม่นยำยิ่งขึ้น เมื่อประกาศฉันจะคิดว่าพวกเขามักจะเป็นตัวแทนของพวกเขาอย่างถูกต้องเช่นกัน แต่มันเป็นความจริงหรือไม่ที่ความแม่นยำอาจลดลง (บางครั้งมีนัยสำคัญ) เมื่อดำเนินการกับจุดลอยตัว?


5
การพิสูจน์ตัวตน JWT สำหรับ ASP.NET Web API
ฉันพยายามสนับสนุนโทเค็นผู้ถือ JWT (JSON Web Token) ในแอปพลิเคชันเว็บ API ของฉันและฉันหลงทาง ฉันเห็นการสนับสนุน. NET Core และสำหรับแอปพลิเคชัน OWIN ฉันกำลังโฮสต์แอปพลิเคชันของฉันใน IIS ฉันจะบรรลุโมดูลการรับรองความถูกต้องนี้ในแอปพลิเคชันของฉันได้อย่างไร มีวิธีใดบ้างที่ฉันสามารถใช้การ<authentication>กำหนดค่าที่คล้ายกับวิธีที่ฉันใช้การตรวจสอบสิทธิ์แบบฟอร์ม / Windows

16
ชื่อของวัตถุประสงค์คืออะไร?
เวอร์ชั่น 6.0 มีคุณสมบัติใหม่nameofแต่ฉันไม่เข้าใจวัตถุประสงค์ของมันเพราะใช้ชื่อตัวแปรและเปลี่ยนเป็นสตริงในการคอมไพล์ ฉันคิดว่ามันอาจมีจุดประสงค์บางอย่างเมื่อใช้งาน<T>แต่เมื่อฉันลองnameof(T)มันก็แค่พิมพ์ให้ฉันTแทนที่จะเป็นประเภทที่ใช้แล้ว มีความคิดเกี่ยวกับวัตถุประสงค์หรือไม่
263 c#  .net  c#-6.0  nameof 

10
ฉันจะทำให้เคอร์เซอร์หันไปเป็นเคอร์เซอร์รอได้อย่างไร?
ฉันมีแอปพลิเคชัน C # ที่มีผู้ใช้ที่ลงชื่อเข้าใช้และเนื่องจากอัลกอริทึมการแปลงแป้นพิมพ์มีราคาแพงจึงต้องใช้เวลาสักครู่จึงจะทำ ฉันจะแสดงเคอร์เซอร์ Wait / Busy (ปกติคือนาฬิกาทราย) ให้ผู้ใช้ทราบได้อย่างไรว่าโปรแกรมกำลังทำอะไรอยู่ โครงการอยู่ใน C #
263 c#  .net  winforms  cursor 

16
การอ่าน / เขียนไฟล์ INI
มีคลาสใด ๆ ใน. NET Framework ที่สามารถอ่าน / เขียนไฟล์. ini มาตรฐาน: [Section] <keyname>=<value> ... Delphi มีTIniFileองค์ประกอบและฉันต้องการที่จะรู้ว่ามีอะไรที่คล้ายกันสำหรับ C #?
263 c#  .net  ini 

26
ความแตกต่างระหว่าง int และ Integer ใน Java และ C # คืออะไร?
ฉันอ่านJoel เพิ่มเติมเกี่ยวกับซอฟต์แวร์เมื่อฉันเจอJoel Spolskyพูดบางอย่างเกี่ยวกับโปรแกรมเมอร์ชนิดหนึ่งที่รู้ถึงความแตกต่างระหว่างintและกับIntegerใน Java / C # (ภาษาโปรแกรมเชิงวัตถุ) ดังนั้นความแตกต่างคืออะไร?
262 c#  java  integer  int 

7
การคืนค่าที่แตกต่างกันเป็นครั้งแรกและครั้งที่สองด้วย Moq
ฉันมีแบบทดสอบนี้: [TestCase("~/page/myaction")] public void Page_With_Custom_Action(string path) { // Arrange var pathData = new Mock<IPathData>(); var pageModel = new Mock<IPageModel>(); var repository = new Mock<IPageRepository>(); var mapper = new Mock<IControllerMapper>(); var container = new Mock<IContainer>(); container.Setup(x => x.GetInstance<IPageRepository>()).Returns(repository.Object); repository.Setup(x => x.GetPageByUrl<IPageModel>(path)).Returns(() => pageModel.Object); pathData.Setup(x => x.Action).Returns("myaction"); pathData.Setup(x => x.Controller).Returns("page"); var resolver …
262 c#  unit-testing  nunit  moq 

27
แปลงรายการทั่วไป / แจกแจงเป็น DataTable หรือไม่
ฉันมีวิธีการสองสามอย่างที่ส่งคืนรายการทั่วไปที่ต่างกัน มีอยู่ใน. net ใด ๆ วิธีคงที่ระดับหรืออะไรก็ตามที่จะแปลงรายการใด ๆ ลงใน DataTable? สิ่งเดียวที่ฉันจินตนาการได้คือใช้ Reflection เพื่อทำสิ่งนี้ ถ้าฉันมีสิ่งนี้: List<Whatever> whatever = new List<Whatever>(); (รหัสต่อไปนี้ใช้ไม่ได้แน่นอน แต่ฉันต้องการมีความเป็นไปได้ที่: DataTable dt = (DataTable) whatever;
261 c#  list  generics  datatable 

7
ความแตกต่างระหว่าง SortedList และ SortedDictionary คืออะไร
มีความแตกต่างในทางปฏิบัติจริงระหว่าง a SortedList<TKey,TValue>และ a SortedDictionary<TKey,TValue>หรือไม่? มีสถานการณ์ใดบ้างที่คุณจะใช้อย่างใดอย่างหนึ่งโดยเฉพาะ

9
Bundler ไม่รวมไฟล์. min
ฉันมีปัญหาแปลก ๆ กับตัวรวม mvc4 ไม่รวมไฟล์ที่มีนามสกุล. min.js ในคลาส BundleConfig ของฉันฉันประกาศ public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/Scripts/jquery") .Include("~/Scripts/jquery-1.8.0.js") .Include("~/Scripts/jquery.tmpl.min.js")); } ในมุมมองของฉันฉันประกาศ <html> <head> @Scripts.Render("~/Scripts/jquery") </head><body>test</body> </html> และเมื่อมันแสดงผลก็เพียงแสดงผล <html> <head> <script src="/Scripts/jquery-1.8.0.js"></script> </head> <body>test</body> </html> หากฉันเปลี่ยนชื่อ jquery.tmpl.min.js เป็น jquery.tmpl.js (และอัพเดตพา ธ ในบันเดิลตามลำดับ) สคริปต์ทั้งคู่จะแสดงผลอย่างถูกต้อง มีการตั้งค่าการกำหนดค่าบางอย่างที่ทำให้ละเว้นไฟล์ '.min.js' หรือไม่

11
ความแตกต่างในวิธีการเปรียบเทียบสตริงใน C #
การเปรียบเทียบสตริงใน C # นั้นค่อนข้างง่าย ในความเป็นจริงมีหลายวิธีที่จะทำ ฉันได้ระบุไว้บางส่วนในบล็อกด้านล่าง สิ่งที่ฉันอยากรู้เกี่ยวกับความแตกต่างระหว่างพวกเขาและเมื่อหนึ่งควรจะใช้กับคนอื่น ๆ ? ควรหลีกเลี่ยงค่าใช้จ่ายทั้งหมดหรือไม่ มีมากกว่าที่ฉันยังไม่ได้ระบุไว้? string testString = "Test"; string anotherString = "Another"; if (testString.CompareTo(anotherString) == 0) {} if (testString.Equals(anotherString)) {} if (testString == anotherString) {} (หมายเหตุ: ฉันกำลังมองหาความเสมอภาคในตัวอย่างนี้ไม่น้อยกว่าหรือมากกว่า แต่อย่าลังเลที่จะแสดงความคิดเห็นในเรื่องนั้นด้วย)
261 c#  string  comparison 

11
ทำไมฉันไม่สามารถกำหนดนวกรรมิกเริ่มต้นสำหรับ struct ใน. NET ได้?
ใน. NET ประเภทค่า (C # struct) ไม่สามารถมีตัวสร้างที่ไม่มีพารามิเตอร์ ตามโพสต์นี้ได้รับคำสั่งจากข้อกำหนดของ CLI สิ่งที่เกิดขึ้นคือสำหรับทุกประเภทค่าตัวสร้างเริ่มต้นจะถูกสร้างขึ้น (โดยคอมไพเลอร์?) ซึ่งเริ่มต้นสมาชิกทั้งหมดให้เป็นศูนย์ (หรือnull) ทำไมมันไม่อนุญาตให้กำหนดคอนสตรัคเตอร์เริ่มต้นเช่นนี้ การใช้สิ่งเล็กน้อยสำหรับตัวเลขที่มีเหตุผล: public struct Rational { private long numerator; private long denominator; public Rational(long num, long denom) { /* Todo: Find GCD etc. */ } public Rational(long num) { numerator = num; denominator = 1; } public …
261 c#  .net  struct 


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