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

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

5
ตัวจับเวลา C # ผ่านไปในเธรดแยกหรือไม่?
System.Timers.Timer ผ่านเธรดที่แยกจากเธรดที่สร้างขึ้นหรือไม่ สมมติว่าฉันมีคลาสที่มีตัวจับเวลาที่ยิงทุกๆ 5 วินาที เมื่อตัวจับเวลาเริ่มทำงานในวิธีการที่ผ่านไปวัตถุบางอย่างจะถูกแก้ไข สมมติว่าใช้เวลาแก้ไขวัตถุนี้นานเช่น 10 วินาที เป็นไปได้ไหมที่ฉันจะประสบปัญหาการชนกันของเธรดในสถานการณ์นี้
100 c#  multithreading  timer 

20
ไม่มีชื่อ 'ViewBag' ในบริบทปัจจุบัน - Visual Studio 2015
ฉันเริ่มพัฒนาใน ASP.NET อีกครั้งและพบข้อผิดพลาดเล็กน้อยภายใน Visual Studio ไฟล์. cshtml ของฉันแสดงข้อผิดพลาดเมื่อใช้ฟังก์ชันมีดโกนบางอย่าง ตัวอย่างเช่น "ชื่อ" ViewBag "ไม่มีอยู่ในบริบทปัจจุบัน" นี่คือภาพ: ฉันกำลังใช้โครงการสาธิต คุณสามารถค้นหาโครงการได้ที่นี่: https://github.com/Wintellect/Angular-MVC-Cookbook/tree/master/BasicProject ฉันได้ดูหัวข้ออื่น ๆ หลายหัวข้อและส่วนใหญ่แนะนำให้อัปเดตไฟล์ web.config ไฟล์กำหนดค่า 2 ไฟล์นี้มีอยู่แล้วและเนื่องจากเป็นเดโมยอดนิยมฉันจึงถือว่ามีการกำหนดค่าที่จำเป็นทั้งหมดในนั้น แน่นอนฉันได้ดูไฟล์กำหนดค่าเหล่านี้แล้วและพวกเขาก็รวมโซลูชันที่แนะนำไว้ด้วย รายละเอียดอื่น ๆ: ฉันใช้ clean & rebuild ในโซลูชันแล้ว แต่ไม่มีอะไรเปลี่ยนแปลง เมื่อฉันสร้างโครงการ MVC ใหม่ทั้งหมดมันได้ผล เพื่อนของฉันมีปัญหาเดียวกันและเราทั้งคู่ใช้ VS 2015 และ Windows 10 ฉันยังสามารถเรียกใช้แอปพลิเคชันได้และใช้งานได้ ขอบคุณล่วงหน้า.

5
ให้สิทธิ์แอตทริบิวต์ที่มีหลายบทบาท
ฉันต้องการเพิ่มการอนุญาตให้กับคอนโทรลเลอร์สำหรับหลาย ๆ บทบาทพร้อมกัน โดยปกติจะมีลักษณะดังนี้: [Authorize(Roles = "RoleA,RoleB,RoleC")] public async Task<ActionResult> Index() { } แต่ฉันได้จัดเก็บบทบาทของฉันไว้ใน consts เนื่องจากอาจมีการเปลี่ยนแปลงหรือถูกขยายออกไป public const RoleA = "RoleA"; public const RoleB = "RoleB"; public const RoleC = "RoleC"; ฉันไม่สามารถทำได้เนื่องจากต้องทราบสตริงในเวลาคอมไพล์: [Authorize(Roles = string.join(",",RoleA,RoleB,RoleC)] public async Task<ActionResult> Index() { } มีวิธีหลีกเลี่ยงปัญหาหรือไม่? ฉันสามารถเขียน const ซึ่งมีเพียง "RoleA, RoleB, RoleC" - แต่ฉันไม่ชอบสายเวทย์มนตร์และนี่คือสตริงเวทย์มนตร์ …

8
ส่งผ่านพารามิเตอร์ที่ซับซ้อนไปยัง [ทฤษฎี]
Xunit มีคุณสมบัติที่ดี : คุณสามารถสร้างการทดสอบหนึ่งรายการด้วยTheoryแอตทริบิวต์และใส่ข้อมูลในInlineDataแอตทริบิวต์และ xUnit จะสร้างการทดสอบมากมายและทดสอบทั้งหมด ฉันต้องการจะมีบางสิ่งบางอย่างเช่นนี้ แต่พารามิเตอร์เป็นวิธีของฉันไม่ได้เป็น 'ข้อมูลง่าย (เช่นstring, int, double) แต่รายการระดับของฉัน: public static void WriteReportsToMemoryStream( IEnumerable<MyCustomClass> listReport, MemoryStream ms, StreamWriter writer) { ... }

14
เหตุใดฉันจึงไม่สามารถอ้างอิง System.ComponentModel.DataAnnotations
ฉันพยายามใช้ DataAnnotations ในโปรเจ็กต์ WPF ของฉันเพื่อระบุความยาวสูงสุดของสตริงดังต่อไปนี้: using System.ComponentModel.DataAnnotations; อย่างไรก็ตามฉันได้รับข้อผิดพลาด ชนิดหรือชื่อเนมสเปซ 'DataAnnotations' ไม่มีอยู่ในเนมสเปซ 'System.ComponentModel' (คุณไม่มีการอ้างอิงแอสเซมบลีหรือไม่) ผมเคยเห็นตัวอย่างอื่น ๆ ที่DataAnnotations ไม่อยู่ใน namespace นี้ ฉันใช้ C # 4 มีเหตุผลใดบ้างที่ฉันไม่สามารถใช้สิ่งนี้ได้? ฉันจะแก้ไขอะไรได้บ้าง
100 c#  wpf  data-annotations 

9
วิธีตรวจสอบ GUID คือ GUID
วิธีตรวจสอบว่าสตริงมี GUID เทียบกับสตริงตัวเลขหรือไม่ GUID จะมีอักขระอัลฟ่าอย่างน้อย 1 ตัวเสมอหรือไม่
100 c#  asp.net  string  guid 

5
CORS: โหมดข้อมูลรับรองคือ 'รวม'
ใช่ฉันรู้ว่าคุณกำลังคิดอะไร - ยังเป็นคำถาม CORS อีกคำถาม แต่คราวนี้ฉันนิ่งงัน ดังนั้นในการเริ่มต้นข้อความแสดงข้อผิดพลาดจริง: XMLHttpRequest ไม่สามารถโหลดhttp: //localhost/Foo.API/token ค่าของ 'การเข้าถึงการควบคุมอนุญาตให้-กำเนิด' หัวในการตอบสนองจะต้องไม่เป็นสัญลักษณ์แทน '*' เมื่อมีการร้องขอของโหมดข้อมูลประจำตัวคือ 'รวมถึง' Origin ' http: // localhost: 5000 ' จึงไม่อนุญาตให้เข้าถึง โหมดหนังสือรับรองของคำขอที่เริ่มต้นโดย XMLHttpRequest ถูกควบคุมโดยแอตทริบิวต์ withCredentials ฉันไม่แน่ใจว่าโหมดข้อมูลรับรองหมายถึงอะไรคือ 'รวม' ? ดังนั้นเมื่อฉันดำเนินการตามคำขอในบุรุษไปรษณีย์ฉันไม่พบข้อผิดพลาดดังกล่าว: แต่เมื่อฉันเข้าถึงคำขอเดียวกันผ่านเว็บแอป angularjs ฉันรู้สึกสะดุดกับข้อผิดพลาดนี้ นี่คือคำขอ / การตอบกลับ angualrjs ของฉัน ดังที่คุณจะเห็นการตอบสนองOK 200แต่ฉันยังคงได้รับข้อผิดพลาด CORS: คำขอและการตอบกลับของ Fiddler: ภาพต่อไปนี้แสดงคำขอและการตอบกลับจากส่วนหน้าเว็บไปยัง API จากโพสต์อื่น ๆ ทั้งหมดที่ฉันอ่านทางออนไลน์ดูเหมือนว่าฉันกำลังทำสิ่งที่ถูกต้องนั่นคือเหตุผลที่ฉันไม่เข้าใจข้อผิดพลาด …

4
LINQ ตัวดำเนินการที่แตกต่างไม่สนใจตัวพิมพ์หรือไม่
ยกตัวอย่างง่ายๆดังต่อไปนี้: List<string> list = new List<string>() { "One", "Two", "Three", "three", "Four", "Five" }; CaseInsensitiveComparer ignoreCaseComparer = new CaseInsensitiveComparer(); var distinctList = list.Distinct(ignoreCaseComparer as IEqualityComparer<string>).ToList(); ดูเหมือนว่า CaseInsensitiveComparer ไม่ได้ถูกใช้เพื่อทำการเปรียบเทียบแบบไม่คำนึงถึงตัวพิมพ์ ในคำอื่น ๆdistinctList มีหมายเลขเดียวกันของรายการเป็นรายการ แต่ฉันจะคาดหวังเช่น "สาม" และ "สาม" จะถือว่าเท่ากัน ฉันขาดอะไรไปหรือนี่เป็นปัญหากับตัวดำเนินการที่แตกต่างกัน
100 c#  linq  string  comparison  distinct 

14
Entity Framework DateTime และ UTC
เป็นไปได้ไหมที่จะมี Entity Framework (ฉันใช้ Code First Approach กับ CTP5 ในปัจจุบัน) เก็บค่า DateTime ทั้งหมดเป็น UTC ในฐานข้อมูล หรืออาจมีวิธีระบุในการแม็ปเช่นในคอลัมน์นี้สำหรับคอลัมน์ last_login: modelBuilder.Entity<User>().Property(x => x.Id).HasColumnName("id"); modelBuilder.Entity<User>().Property(x => x.IsAdmin).HasColumnName("admin"); modelBuilder.Entity<User>().Property(x => x.IsEnabled).HasColumnName("enabled"); modelBuilder.Entity<User>().Property(x => x.PasswordHash).HasColumnName("password_hash"); modelBuilder.Entity<User>().Property(x => x.LastLogin).HasColumnName("last_login");

3
จะตั้งค่าการผูกใน Code ได้อย่างไร?
ฉันจำเป็นต้องตั้งค่าการผูกรหัส ดูเหมือนฉันจะเข้าใจไม่ถูก นี่คือสิ่งที่ฉันได้ลอง: XAML: <TextBox Name="txtText"></TextBox> รหัสหลัง: Binding myBinding = new Binding("SomeString"); myBinding.Source = ViewModel.SomeString; myBinding.Mode = BindingMode.TwoWay; myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; BindingOperations.SetBinding(txtText, TextBox.TextProperty, myBinding); ดู public string SomeString { get { return someString; } set { someString= value; OnPropertyChanged("SomeString"); } } คุณสมบัติไม่ได้รับการอัปเดตเมื่อฉันตั้งค่า ผมทำอะไรผิดหรือเปล่า?
100 c#  wpf  xaml  data-binding 

3
การจับข้อยกเว้นด้วย "จับเมื่อ"
ฉันเจอคุณลักษณะใหม่นี้ใน C # ซึ่งช่วยให้ตัวจัดการการจับสามารถดำเนินการได้เมื่อตรงตามเงื่อนไขที่กำหนด int i = 0; try { throw new ArgumentNullException(nameof(i)); } catch (ArgumentNullException e) when (i == 1) { Console.WriteLine("Caught Argument Null Exception"); } ฉันพยายามทำความเข้าใจว่าสิ่งนี้อาจเป็นประโยชน์เมื่อใด สถานการณ์หนึ่งอาจเป็นดังนี้: try { DatabaseUpdate() } catch (SQLException e) when (driver == "MySQL") { //MySQL specific error handling and wrapping up the exception …

6
อาร์เรย์ใน C # ใช้ IList <T> บางส่วนได้อย่างไร
ดังที่คุณทราบอาร์เรย์ใน C # ใช้IList&lt;T&gt;กับอินเทอร์เฟซอื่น ๆ อย่างไรก็ตามพวกเขาทำสิ่งนี้โดยไม่นำคุณสมบัติ Count ของIList&lt;T&gt;! อาร์เรย์มีคุณสมบัติความยาวเท่านั้น นี่เป็นตัวอย่างที่ชัดเจนของ C # / NET ที่ละเมิดกฎของตัวเองเกี่ยวกับการใช้งานอินเทอร์เฟซหรือฉันทำอะไรพลาดไป?
99 c#  .net  arrays  list  interface 

3
เหตุใดการเพิ่ม Nullable <int> จึงไม่ทำให้เกิดข้อยกเว้น
คุณช่วยอธิบายได้ไหมทำไม Console.WriteLine เขียนบรรทัดว่าง ( Console.WriteLine(null)ให้ข้อผิดพลาดในการคอมไพล์) และทำไมไม่มี NullReferenceException ( a+=1ไม่ควรเพิ่ม) int? a = null; a++; // Why there is not NullReferenceException? Console.WriteLine(a); // Empty line
99 c#  .net  nullable 

10
DateTime ถึงวันที่จาวาสคริปต์
จากคำตอบอื่นใน Stackoverflow คือการแปลงจากวันที่ Javascript เป็น. net DateTime: long msSinceEpoch = 1260402952906; // Value from Date.getTime() in JavaScript return new DateTime(1970, 1, 1) + new TimeSpan(msSinceEpoch * 10000); แต่จะทำอย่างไรกลับกัน? DateTime ถึง Javascript Date?
99 c#  .net  javascript 


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