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

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

6
รับคุณค่าจาก JToken ที่อาจไม่มีอยู่จริง (แนวทางปฏิบัติที่ดีที่สุด)
แนวทางปฏิบัติที่ดีที่สุดในการดึงค่า JSON ที่อาจไม่มีอยู่ใน C # โดยใช้Json.NETคืออะไร ตอนนี้ฉันกำลังติดต่อกับผู้ให้บริการ JSON ที่ส่งคืน JSON ที่บางครั้งมีคู่คีย์ / ค่าบางคู่และบางครั้งก็ไม่มี ฉันใช้วิธีนี้ (อาจจะไม่ถูกต้อง) เพื่อรับค่าของฉัน (เช่นการได้รับสองเท่า): if(null != jToken["width"]) width = double.Parse(jToken["width"].ToString()); else width = 100; ตอนนี้ใช้งานได้ดี แต่เมื่อมีจำนวนมากมันก็ยุ่งยาก ฉันลงเอยด้วยการเขียนวิธีการขยายและหลังจากเขียนมันเท่านั้นฉันสงสัยว่าบางทีฉันอาจจะโง่ ... อย่างไรก็ตามนี่คือวิธีการขยาย (ฉันรวมเฉพาะกรณีสำหรับคู่และสตริง แต่ในความเป็นจริงฉันมีค่อนข้างน้อย มากกว่า): public static T GetValue<T>(this JToken jToken, string key, T defaultValue = default(T)) { T returnValue …
117 c#  json.net 

8
ดัชนี (อิงตามศูนย์) ต้องมากกว่าหรือเท่ากับศูนย์
สวัสดีฉันได้รับข้อผิดพลาด: ดัชนี (อิงตามศูนย์) ต้องมากกว่าหรือเท่ากับศูนย์และน้อยกว่าขนาดของรายการอาร์กิวเมนต์ รหัสของฉัน: OdbcCommand cmd = new OdbcCommand("SELECT FirstName, SecondName, Aboutme FROM User WHERE UserID=1", cn); OdbcDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Name.Text = String.Format("{0} {1}", reader.GetString(0), reader.GetString(1)); Aboutme.Text = String.Format("{2}", reader.GetString(0)); }
117 c#  asp.net  mysql  sql 

8
หลักการตั้งชื่อคลาส C #: เป็น BaseClass หรือ ClassBase หรือ AbstractClass
แนวทางที่แนะนำในการตั้งชื่อคลาสพื้นฐานคืออะไร? มันนำหน้าชื่อประเภทด้วย " Base " หรือ " Abstract " หรือเราจะต่อท้ายด้วย "Base"? พิจารณาสิ่งต่อไปนี้: ชนิด: ViewModelเช่นMainViewModel , ReportViewModel คลาสฐาน: BaseViewModelหรือViewModelBaseหรือAbstractViewModel พิจารณา: ชนิด: Productเช่นVirtualProduct , ExpiringProduct คลาสฐาน: BaseProductหรือProductBaseหรือAbstractProduct คุณคิดว่ามาตรฐานไหนมากกว่ากัน? class Entity : EntityBase { } หรือ class Entity : BaseEntity { }

10
ฉันจะทำให้ XAML DataGridColumns เติมเต็ม DataGrid ทั้งหมดได้อย่างไร
ฉันใช้ DataGrids ใน XAML (ไม่ใช่ Silverlight) กับคอลัมน์ที่ปรับขนาดได้ DataGrid จะขยายหากผู้ใช้ปรับขนาดหน้าจอ ปัจจุบันถ้าความกว้างของคอลัมน์ DataGrid ทั้งหมดน้อยกว่าความกว้างของ DataGrid ฉันจะได้รับ "คอลัมน์" พิเศษปรากฏขึ้นซึ่งไม่สามารถคลิกได้และไม่มีจุดประสงค์ใด ๆ ไม่มีใครรู้วิธีทำให้คอลัมน์หนึ่งปรับขนาดให้เต็มพื้นที่ที่เหลือทั้งหมดได้หรือไม่?
117 c#  wpf  xaml  datagrid  wpf-controls 

2
รองานที่เสร็จสมบูรณ์เช่นเดียวกับงานผลลัพธ์?
ฉันกำลังอ่าน " Concurrency in C # Cookbook " โดย Stephen Cleary และสังเกตเห็นเทคนิคต่อไปนี้: var completedTask = await Task.WhenAny(downloadTask, timeoutTask); if (completedTask == timeoutTask) return null; return await downloadTask; downloadTaskคือเรียกร้องให้httpclient.GetStringAsyncและกำลังดำเนินการtimeoutTaskTask.Delay ในกรณีที่ไม่หมดเวลาแสดงว่าdownloadTaskเป็นที่เรียบร้อยแล้ว เหตุใดจึงจำเป็นต้องรอเป็นครั้งที่สองแทนที่จะกลับมาdownloadTask.Resultเนื่องจากงานเสร็จเรียบร้อยแล้ว

4
ความแตกต่างระหว่าง Select และ ConvertAll ใน C #
ฉันมีรายการ: List<int> list = new List<int> { 1, 2, 3, 4, 5 }; ฉันต้องการใช้การเปลี่ยนแปลงบางอย่างกับองค์ประกอบของรายการของฉัน ฉันทำได้สองวิธี: List<int> list1 = list.Select(x => 2 * x).ToList(); List<int> list2 = list.ConvertAll(x => 2 * x).ToList(); สองทางนี้ต่างกันอย่างไร?
117 c#  .net  list 

2
KeyValuePair VS DictionaryEntry
อะไรคือความแตกต่างระหว่าง KeyValuePair ซึ่งเป็นเวอร์ชันทั่วไปและ DictionaryEntry? เหตุใดจึงใช้ KeyValuePair แทน DictionaryEntry ในคลาส Dictionary ทั่วไป
117 c# 

7
คลิกขวาที่เมนูบริบทสำหรับ datagridview
ฉันมี datagridview ในแอป. NET winform ฉันต้องการคลิกขวาที่แถวและมีเมนูปรากฏขึ้น จากนั้นฉันต้องการเลือกสิ่งต่างๆเช่นคัดลอกตรวจสอบความถูกต้อง ฯลฯ ฉันจะสร้าง A) เมนูที่แสดงขึ้นได้อย่างไร B) ค้นหาว่าแถวใดถูกคลิกขวา ฉันรู้ว่าฉันสามารถใช้ selectedIndex ได้ แต่ฉันควรจะสามารถคลิกขวาได้โดยไม่ต้องเปลี่ยนสิ่งที่เลือก? ตอนนี้ฉันสามารถใช้ดัชนีที่เลือกได้ แต่ถ้ามีวิธีรับข้อมูลโดยไม่เปลี่ยนสิ่งที่เลือกนั่นก็จะเป็นประโยชน์

2
การใช้งานอินเทอร์เฟซแบบ async
ฉันกำลังพยายามสร้างแอปพลิเคชันของฉันโดยใช้วิธี Async IO ทั้งหมดของฉันทำผ่านการใช้งานอินเทอร์เฟซอย่างชัดเจนและฉันสับสนเล็กน้อยเกี่ยวกับวิธีทำให้การดำเนินการไม่ตรงกัน เมื่อฉันเห็นสิ่งต่างๆฉันมีสองทางเลือกในการใช้งาน: interface IIO { void DoOperation(); } ตัวเลือกที่ 1: ทำการ async การใช้งานโดยนัยและรอผลในการนำไปใช้โดยปริยาย class IOImplementation : IIO { async void DoOperation() { await Task.Factory.StartNew(() => { //WRITING A FILE OR SOME SUCH THINGAMAGIG }); } #region IIO Members void IIO.DoOperation() { DoOperation(); } #endregion } OPTION2: ทำการ …

3
ตรวจสอบว่าประเภทที่ระบุเป็น Enum หรือไม่
ฉันกำลังเขียน JsonConverter สำหรับ Json.NET ซึ่งควรอนุญาตให้ฉันแปลง enum ใด ๆ เป็นค่าสตริงที่กำหนดโดยแอตทริบิวต์ [Description] ตัวอย่างเช่น: public enum MyEnum { [Description("Sunday")] Sunday, [Description("Monday")] Monday, [Description("Tuesday")] Tuesday, [Description("Wednesday")] Wednesday, [Description("Thursday")] Thursday, [Description("Friday")] Friday, [Description("Saturday")] Saturday } ฉันมีรหัสสำหรับรองรับอยู่แล้วmyEnum.Description()ซึ่งจะส่งคืนคำอธิบายสตริงอย่างชัดเจน ในการใช้งาน JsonConverter มีวิธีนี้: public override bool CanConvert(Type objectType) { } ฉันกำลังพยายามหาวิธีตรวจสอบว่าobjectTypeเป็นEnumและส่งคืนจริงหรือไม่เพื่อให้ตัวแปลงรู้ว่าสามารถแปลงวัตถุนี้ได้ เนื่องจากฉันมีหลายตัวEnumฉันจึงไม่สามารถตรวจสอบแต่ละอันได้อย่างชัดเจนดังนั้นฉันจึงหวังว่าจะมีวิธีการทั่วไปในการบรรลุเป้าหมายนี้มากขึ้น
117 c#  enums 

10
รับตำแหน่งเมาส์ใน c #
ฉันจะรับตำแหน่งเมาส์ได้อย่างไร? ฉันต้องการมันในแง่ของตำแหน่งหน้าจอ ฉันเริ่มโปรแกรมของฉันฉันต้องการตั้งค่าเป็นตำแหน่งเมาส์ปัจจุบัน Location.X = ?? Location.Y = ?? แก้ไข:สิ่งนี้จะต้องเกิดขึ้นก่อนที่จะสร้างแบบฟอร์ม
117 c#  mouse-position 

11
ตรวจพบลูปการอ้างอิง JSON.Net ด้วยตนเอง
ฉันมีฐานข้อมูล mssql สำหรับเว็บไซต์ของฉันภายใน 4 ตาราง เมื่อฉันใช้สิ่งนี้: public static string GetAllEventsForJSON() { using (CyberDBDataContext db = new CyberDBDataContext()) { return JsonConvert.SerializeObject((from a in db.Events where a.Active select a).ToList(), new JavaScriptDateTimeConverter()); } } รหัสส่งผลให้เกิดข้อผิดพลาดต่อไปนี้: Newtonsoft.Json.JsonSerializationException: ตรวจพบลูปการอ้างอิงตนเองสำหรับคุณสมบัติ 'CyberUser' ด้วยประเภท 'DAL.CyberUser' เส้นทาง '[0] .EventRegistrations [0] .CyberUser.UserLogs [0]'

14
จะเปรียบเทียบเฉพาะวันที่จาก DateTime ใน EF ได้อย่างไร?
ฉันมีค่าวันที่สองค่าค่าหนึ่งเก็บไว้ในฐานข้อมูลแล้วและค่าอื่นที่ผู้ใช้เลือกโดยใช้ DatePicker กรณีการใช้งานคือการค้นหาวันที่ที่ต้องการจากฐานข้อมูล ค่าที่ป้อนก่อนหน้านี้ในฐานข้อมูลมักจะมีองค์ประกอบของเวลาคือ 12:00:00 น. โดยที่วันที่ที่ป้อนจากตัวเลือกจะมีส่วนประกอบของเวลาที่แตกต่างกัน ฉันสนใจเฉพาะส่วนประกอบวันที่และต้องการละเว้นองค์ประกอบเวลา การเปรียบเทียบนี้ใน C # มีวิธีใดบ้าง นอกจากนี้วิธีการทำใน LINQ อัปเดต: ใน LINQ ถึงเอนทิตีสิ่งต่อไปนี้ใช้งานได้ดี e => DateTime.Compare(e.FirstDate.Value, SecondDate) >= 0

2
การใช้ Server.MapPath () ภายในฟิลด์แบบคงที่ใน ASP.NET MVC
ฉันกำลังสร้างไซต์ ASP.NET MVC ที่ฉันใช้ Lucene.Net สำหรับการค้นหา ฉันถามคำถามที่นี่เกี่ยวกับวิธีจัดโครงสร้างการใช้งาน Lucene.Net ในแอปพลิเคชัน ASP.NET MVC อย่างถูกต้องและได้รับแจ้งว่าวิธีที่ดีที่สุดคือการประกาศ my IndexWriteras public staticเพื่อให้สามารถใช้ซ้ำได้ นี่คือรหัสบางส่วนที่อยู่ด้านบนของ SearchController ของฉัน: public static string IndexLocation = Server.MapPath("~/lucene"); public static Lucene.Net.Analysis.Standard.StandardAnalyzer analyzer = new Lucene.Net.Analysis.Standard.StandardAnalyzer(); public static IndexWriter writer = new IndexWriter(IndexLocation,analyzer); เมื่อwriterเป็นแบบคงที่IndexLocationจะต้องเป็นแบบคงที่ ดังนั้นคอมไพเลอร์จึงให้ข้อผิดพลาดต่อไปนี้สำหรับServer.MapPath(): จำเป็นต้องมีการอ้างอิงออบเจ็กต์สำหรับฟิลด์วิธีหรือคุณสมบัติที่ไม่คงที่ 'System.Web.Mvc.Controller.Server.get' มีวิธีการใช้ Server.MapPath () หรือสิ่งที่คล้ายกันจากฟิลด์แบบคงที่หรือไม่? ฉันจะแก้ไขข้อผิดพลาดนี้ได้อย่างไร?

11
วิธีที่ดีในการเขียนทับ DateTime ตอนนี้อยู่ระหว่างการทดสอบคืออะไร?
ฉันมีรหัส (C #) ที่ใช้วันที่ของวันนี้เพื่อคำนวณสิ่งต่างๆในอนาคตได้อย่างถูกต้อง ถ้าฉันใช้วันที่ของวันนี้ในการทดสอบฉันต้องคำนวณซ้ำในการทดสอบซึ่งไม่ถูกต้อง วิธีใดดีที่สุดในการตั้งค่าวันที่เป็นค่าที่ทราบภายในการทดสอบเพื่อให้ฉันสามารถทดสอบว่าผลลัพธ์เป็นค่าที่ทราบได้

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