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

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

7
ข้อผิดพลาดไม่ถูกต้องตัวเลือก '6' สำหรับ / langversion; ต้องเป็น ISO-1, ISO-2, 3, 4, 5 หรือค่าเริ่มต้น
ฉันพยายามกำหนดเป้าหมาย. NET 4.6 และใช้ประโยชน์จาก C # เวอร์ชันล่าสุดโดยเปลี่ยนเวอร์ชันภาษา C # เป็น 6 อย่างไรก็ตามในระหว่างการรวบรวมฉันได้รับข้อผิดพลาดนี้: ข้อผิดพลาดไม่ถูกต้องตัวเลือก '6' สำหรับ / langversion; ต้องเป็น ISO-1, ISO-2, 3, 4, 5 หรือค่าเริ่มต้น หากฉันอัปเดตการ/langversion:6ตั้งค่าใน Web.Config เป็น 5 จะใช้งานได้ <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"> แต่ฉันจะแก้ไขปัญหานี้ได้อย่างไรโดยไม่ต้องใช้เวอร์ชันภาษาที่ต่ำกว่า ฉันใช้ Visual Studio 2015 Community Edition และฉันได้ติดตั้ง. …

9
วิธีแปลง“ 0” และ“ 1” เป็นเท็จและจริง
ฉันมีวิธีการที่เชื่อมต่อกับฐานข้อมูลผ่าน Odbc ขั้นตอนการจัดเก็บที่ฉันเรียกมีค่าส่งคืนซึ่งจากด้านฐานข้อมูลคือ 'Char' ตอนนี้ฉันกำลังจับค่าที่ส่งคืนเป็นสตริงและใช้ในคำสั่ง if อย่างง่าย ฉันไม่ชอบแนวคิดในการเปรียบเทียบสตริงแบบนี้เมื่อมีเพียงสองค่าเท่านั้นที่สามารถกลับมาจากฐานข้อมูลคือ 0 และ 1 OdbcCommand fetchCommand = new OdbcCommand(storedProc, conn); fetchCommand.CommandType = CommandType.StoredProcedure; fetchCommand.Parameters.AddWithValue("@column ", myCustomParameter); fetchCommand.Parameters.Add("@myReturnValue", OdbcType.Char, 1) .Direction = ParameterDirection.Output; fetchCommand.ExecuteNonQuery(); string returnValue = fetchCommand.Parameters["@myReturnValue"].Value.ToString(); if (returnValue == "1") { return true; } อะไรคือวิธีที่เหมาะสมในการจัดการกับสถานการณ์นี้ ฉันได้ลอง 'Convert ToBoolean ()' ซึ่งดูเหมือนจะเป็นคำตอบที่ชัดเจน แต่ฉันพบว่า 'String …

11
วิธีการแปลงสตริงเป็นบูล
ฉันมีstringที่สามารถเป็น "0" หรือ "1" และรับประกันได้ว่าจะไม่เป็นอย่างอื่น คำถามก็คือวิธีที่ดีที่สุดง่ายที่สุดและสง่างามที่สุดในการแปลงเป็น a boolคืออะไร?

4
ความแตกต่างระหว่าง“ await Task.Run (); กลับ;" และ "return Task.Run ()"?
มีความแตกต่างทางแนวคิดระหว่างรหัสสองชิ้นต่อไปนี้หรือไม่: async Task TestAsync() { await Task.Run(() => DoSomeWork()); } และ Task TestAsync() { return Task.Run(() => DoSomeWork()); } รหัสที่สร้างขึ้นแตกต่างกันหรือไม่? แก้ไข:เพื่อหลีกเลี่ยงความสับสนTask.Runกรณีที่คล้ายกัน: async Task TestAsync() { await Task.Delay(1000); } และ Task TestAsync() { return Task.Delay(1000); } การอัปเดตล่าสุด:นอกจากคำตอบที่ยอมรับแล้วยังมีความแตกต่างในวิธีLocalCallContextจัดการ: CallContext.LogicalGetData ได้รับการกู้คืนแม้ว่าจะไม่มีอะซิงโครไนซ์ ทำไม?
90 c#  async-await 

4
คำอธิบายของ Func
ฉันสงสัยว่ามีใครสามารถอธิบายได้ว่าอะไรFunc<int, string>คืออะไรและใช้อย่างไรกับตัวอย่างที่ชัดเจน
90 c#  .net  func 

15
ตัวดำเนินการ LIKE ใน LINQ
มีวิธีใดบ้างในการเปรียบเทียบสตริงในนิพจน์ C # LINQ ที่คล้ายกับLIKEตัวดำเนินการของ SQL สมมติว่าฉันมีรายการสตริง ในรายการนี้ฉันต้องการค้นหาสตริง ใน SQL ฉันสามารถเขียน: SELECT * FROM DischargePort WHERE PortName LIKE '%BALTIMORE%' แทนที่จะเป็นข้างต้นแบบสอบถามต้องการไวยากรณ์ linq using System.Text.RegularExpressions; … var regex = new Regex(sDischargePort, RegexOptions.IgnoreCase); var sPortCode = Database.DischargePorts .Where(p => regex.IsMatch(p.PortName)) .Single().PortCode; ไวยากรณ์ LINQ ข้างต้นของฉันไม่ทำงาน ฉันผิดอะไร
90 c#  linq  sql-like 

10
System.web.mvc หายไป
เรามีแอปพลิเคชันเว็บ ASP.NET MVC 3 รุ่นเก่าซึ่งสร้างใน VS2010 ซึ่งไม่สามารถรวบรวมได้ตั้งแต่การอัปเดตความปลอดภัยเมื่อสัปดาห์ที่แล้ว ปัญหาคือการอ้างอิงไปยัง System.Web.Mvc.dll ใช้งานไม่ได้ เมื่อฉันเปิดไฟล์โซลูชันบนเครื่องบิลด์ของเราโดยที่การอัปเดตความปลอดภัยยังไม่ทำงานและเปิดกล่องโต้ตอบคุณสมบัติสำหรับการอ้างอิง -> System.Web.MVC ก็ดูดี เส้นทางคือ C: \ Program Files \ Microsoft ASP.NET \ ASP.NET MVC 3 \ Assemblies \ System.Web.Mvc.dll เวอร์ชัน 3.0.0.0 แต่เมื่อฉันเปิดไฟล์โซลูชันบนเครื่อง dev ที่รันการอัปเดตความปลอดภัยการอ้างอิง -> System.Web.MVC ถูกตั้งค่าสถานะว่าหายไป หากฉันลบออกและพยายามเพิ่มกลับโดยใช้กล่องโต้ตอบเพิ่มการอ้างอิงของ VS2010 มันจะไม่ปรากฏขึ้น การเดินท่องเว็บทำให้ฉันได้รับคำแนะนำเกี่ยวกับการอัปเดต MVC โดยใช้ NuGet เราไม่ได้ใช้ NuGet ในโครงการ VS2010 ของเราดังนั้นมันจึงดูไม่ถูกต้องนักสำหรับสถานการณ์นี้ …
90 c#  asp.net  .net  asp.net-mvc 

4
แทรกข้อมูลโดยใช้แบบจำลอง Entity Framework
ฉันกำลังพยายามแทรกข้อมูลบางส่วนในฐานข้อมูลโดยใช้โมเดล Entity Framework แต่ด้วยเหตุผลที่ไม่ทราบสาเหตุสำหรับฉันมันก็ไม่ทำอะไรเลย ฉันขาดอะไรที่นี่? using (var context = new DatabaseEntities()) { var t = new test { ID = Guid.NewGuid(), name = "blah", }; context.AddTotest(t); context.SaveChanges(); }


9
ตรวจสอบและล็อค
เมื่อใดจึงเหมาะสมที่จะใช้Monitorคลาสหรือlockคีย์เวิร์ดเพื่อความปลอดภัยของเธรดใน C # แก้ไข: ดูเหมือนว่าจากคำตอบที่ผ่านมาlockนั้นสั้นสำหรับชุดของการโทรไปยังMonitorชั้นเรียน กุญแจล็อคสายสั้นมีไว้เพื่ออะไร? หรือชัดเจนกว่านั้น class LockVsMonitor { private readonly object LockObject = new object(); public void DoThreadSafeSomethingWithLock(Action action) { lock (LockObject) { action.Invoke(); } } public void DoThreadSafeSomethingWithMonitor(Action action) { // What goes here ? } } อัปเดต ขอบคุณทุกคนสำหรับความช่วยเหลือ: ฉันได้โพสต์คำถามอื่นเพื่อติดตามข้อมูลบางส่วนที่คุณให้มา เนื่องจากคุณดูเหมือนจะมีความเชี่ยวชาญในด้านนี้เป็นอย่างดีฉันจึงโพสต์ลิงก์: มีอะไรผิดปกติกับวิธีแก้ปัญหานี้ในการล็อกและจัดการข้อยกเว้นที่ถูกล็อก

6
วิธีการคืนค่าด้วยวิธีการไม่ระบุชื่อ?
สิ่งนี้ล้มเหลว string temp = () => {return "test";}; ด้วยข้อผิดพลาด ไม่สามารถแปลงนิพจน์แลมบ์ดาเป็นพิมพ์ 'สตริง' เนื่องจากไม่ใช่ประเภทผู้รับมอบสิทธิ์ ข้อผิดพลาดหมายถึงอะไรและฉันจะแก้ไขได้อย่างไร
90 c#  .net  lambda 

21
วิธีการ 405 ไม่อนุญาตให้ใช้ Web API
ข้อผิดพลาดนี้เกิดขึ้นบ่อยมากและฉันได้ลองวิธีแก้ปัญหาทั้งหมดแล้ว แต่ก็ไม่ได้ผล ฉันได้ปิดใช้งานการเผยแพร่ WebDAV ในแผงควบคุมและเพิ่มสิ่งนี้ลงในไฟล์กำหนดค่าเว็บของฉัน: <handlers> <remove name="WebDAV"/> </handlers> <modules runAllManagedModulesForAllRequests="true"> <remove name="WebDAVModule"/> </modules> ข้อผิดพลาดยังคงมีอยู่ นี่คือตัวควบคุม: static readonly IProductRepository repository = new ProductRepository(); public Product Put(Product p) { return repository.Add(p); } วิธีการใช้งาน: public Product Add(Product item) { if (item == null) { throw new ArgumentNullException("item"); } item.Id = _nextId++; products.Add(item); …

8
ฉันจะจัดรูปแบบ DateTime เป็นรูปแบบ UTC ของเว็บได้อย่างไร
ฉันมี DateTime ที่ต้องการจัดรูปแบบเป็น " 2009-09-01T00:00:00.000Z" แต่รหัสต่อไปนี้ให้ " 2009-09-01T00:00:00.000+01:00" (ทั้งสองบรรทัด): new DateTime(2009, 9, 1, 0, 0, 0, 0, DateTimeKind.Utc).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffzzz") new DateTime(2009, 9, 1, 0, 0, 0, 0, DateTimeKind.Utc).ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffzzz") มีความคิดอย่างไรที่จะทำให้มันทำงานได้?
90 c#  .net  datetime  utc 


4
อะไรคือความแตกต่างระหว่าง System.Type และ System.RuntimeType ใน C #?
วันนี้ฉันพยายามทำแบบทดสอบการประชุมและรับทุกประเภทในการประชุม (โดยการโทรAssembly.GetTypes()) เมื่อฉันสะดุดอะไรบางอย่าง: System.RuntimeType:[First.Namespace.FirstClass] เมื่อใดก็ตามที่ฉันพยายามเปรียบเทียบประเภทtypeof(FirstClass)นั้นมันไม่เท่ากัน ดังนั้นเมื่อฉันพยายามค้นหาทุกประเภทที่มีFirstClassเป็นพารามิเตอร์ทั่วไปฉันไม่พบเลย อะไรคือความแตกต่างระหว่างSystem.RuntimeTypeและSystem.Type? มีวิธีใดในการแก้ปัญหาของฉันหรือไม่?
90 c#  reflection 

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