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

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


5
การอ้างอิงอ็อบเจ็กต์ไม่ได้ตั้งค่าเป็นอินสแตนซ์ของอ็อบเจ็กต์เหตุใด. NET จึงไม่แสดงว่าอ็อบเจ็กต์ใดเป็น "null"
เกี่ยวกับข้อความยกเว้น. NET ที่ไม่สามารถจัดการได้นี้: การอ้างอิงวัตถุไม่ได้ตั้งค่าเป็นตัวอย่างของวัตถุ เหตุใด. NET จึงไม่แสดงว่าวัตถุnullใด ฉันทราบว่าสามารถตรวจสอบnullและแก้ไขข้อผิดพลาดได้ อย่างไรก็ตามเหตุใด. NET จึงไม่ช่วยชี้ให้เห็นว่าวัตถุใดมีการอ้างอิงที่เป็นโมฆะและนิพจน์ใดที่เรียกใช้NullReferenceException?
103 c#  .net 

5
ทำไมฉันจึงสร้างคลาสชื่อ“ var” ได้
ไม่ใช่varคีย์เวิร์ดใน C #? แต่ทำไมฉันถึงทำได้: public class var { } public class main { public static void main(string[] args) { var testVar = new var(); } } varที่ใช้ในรหัสเป็นvarชั้นเรียนที่มีการประกาศก่อนที่mainระดับ และคอมไพเลอร์ไม่แม้แต่จะบ่น ในขณะที่ฉันทำสิ่งนี้: public class int { } หรือสิ่งนี้: public class true { } คอมไพเลอร์บอกว่าintหรือtrueเป็นคีย์เวิร์ดและไม่สามารถใช้แบบนั้นได้ ทำไมถึงไม่เหมือนกันกับvar?
103 c#  .net-4.0 

5
เติมข้อมูลตารางจากโปรแกรมอ่านข้อมูล
ฉันกำลังทำสิ่งพื้นฐานใน C # (MS VS2008) และมีคำถามเกี่ยวกับการออกแบบที่เหมาะสมมากกว่าโค้ดเฉพาะ ฉันกำลังสร้าง datatable จากนั้นพยายามโหลด datatable จาก datareader (ซึ่งขึ้นอยู่กับขั้นตอนการจัดเก็บ SQL) สิ่งที่ฉันสงสัยคือวิธีโหลดข้อมูลที่มีประสิทธิภาพที่สุดคือการทำคำสั่ง while หรือมีวิธีที่ดีกว่านี้ สำหรับฉันข้อเสียเปรียบเพียงอย่างเดียวคือฉันต้องพิมพ์ฟิลด์ที่ฉันต้องการเพิ่มในคำสั่ง while ด้วยตนเอง แต่ฉันก็ไม่รู้วิธีที่จะทำให้เป็นแบบอัตโนมัติอีกต่อไปเนื่องจากฉันไม่ต้องการฟิลด์ทั้งหมดจาก SP เพียงแค่เลือกฟิลด์ แต่นั่นไม่ใช่เรื่องใหญ่ในสายตาของฉัน ฉันได้รวมข้อมูลโค้ดไว้ด้านล่างจำนวนรวมของสิ่งที่ฉันทำแม้ว่าสำหรับฉันแล้วโค้ดนั้นไม่ได้โดดเด่นหรือแม้แต่สิ่งที่ฉันกำลังถามถึง Moreso สงสัยเกี่ยวกับวิธีการของฉันฉันจะรบกวนขอความช่วยเหลือเกี่ยวกับโค้ดในภายหลังหากกลยุทธ์ของฉันผิด / ไม่มีประสิทธิภาพ var dtWriteoffUpload = new DataTable(); dtWriteoffUpload.Columns.Add("Unit"); dtWriteoffUpload.Columns.Add("Year"); dtWriteoffUpload.Columns.Add("Period"); dtWriteoffUpload.Columns.Add("Acct"); dtWriteoffUpload.Columns.Add("Descr"); dtWriteoffUpload.Columns.Add("DEFERRAL_TYPE"); dtWriteoffUpload.Columns.Add("NDC_Indicator"); dtWriteoffUpload.Columns.Add("Mgmt Cd"); dtWriteoffUpload.Columns.Add("Prod"); dtWriteoffUpload.Columns.Add("Node"); dtWriteoffUpload.Columns.Add("Curve_Family"); dtWriteoffUpload.Columns.Add("Sum Amount"); dtWriteoffUpload.Columns.Add("Base Curr"); …
103 c#  .net  ado.net 

15
C # เทียบเท่ากับ NaN หรือ IsNumeric คืออะไร?
วิธีใดเป็นวิธีที่มีประสิทธิภาพที่สุดในการทดสอบสตริงอินพุตว่ามีค่าตัวเลข (หรือตรงกันข้ามไม่ใช่ตัวเลข) ฉันเดาว่าฉันสามารถใช้Double.Parseหรือ regex ได้ (ดูด้านล่าง) แต่ฉันสงสัยว่ามีบางอย่างที่สร้างขึ้นเพื่อทำสิ่งนี้เช่น javascript NaN()หรือIsNumeric()(VB นั้นฉันจำไม่ได้หรือไม่) public static bool IsNumeric(this string value) { return Regex.IsMatch(value, "^\\d+$"); }
103 c#  parsing 

6
ทำไมไม่มี Guid.IsNullOrEmpty () วิธีการ
สิ่งนี้ทำให้ฉันสงสัยว่าทำไม Guid ใน. NET ไม่มีIsNullOrEmpty()วิธีการ (โดยที่ว่างหมายถึงศูนย์ทั้งหมด) ฉันต้องการสิ่งนี้ในหลาย ๆ ที่ในโค้ด ASP.NET MVC ของฉันเมื่อเขียน REST API หรือฉันพลาดอะไรไปเพราะไม่มีใครถามหาสิ่งเดียวกันบนอินเทอร์เน็ต
103 c#  asp.net-mvc 

6
วิธีรับค่า enum จากสตริงใน C #
ฉันมี enum: public enum baseKey : uint { HKEY_CLASSES_ROOT = 0x80000000, HKEY_CURRENT_USER = 0x80000001, HKEY_LOCAL_MACHINE = 0x80000002, HKEY_USERS = 0x80000003, HKEY_CURRENT_CONFIG = 0x80000005 } ฉันจะให้สตริงHKEY_LOCAL_MACHINEรับค่า0x80000002ตาม enum ได้อย่างไร
103 c#  enums 

12
ค่าเฉลี่ยของจำนวนเต็มยาว 3 ตัว
ฉันมีเลขจำนวนเต็มขนาดใหญ่มาก 3 ตัว long x = long.MaxValue; long y = long.MaxValue - 1; long z = long.MaxValue - 2; ฉันต้องการคำนวณค่าเฉลี่ยที่ถูกตัดทอน คาดว่าค่าเฉลี่ยซึ่งเป็นlong.MaxValue - 19223372036854775806 เป็นไปไม่ได้ที่จะคำนวณเป็น: long avg = (x + y + z) / 3; // 3074457345618258600 หมายเหตุ: ฉันอ่านคำถามเหล่านี้ทั้งหมดเกี่ยวกับค่าเฉลี่ยของตัวเลข 2 ตัว แต่ฉันไม่เห็นว่าเทคนิคนั้นสามารถใช้กับค่าเฉลี่ยของตัวเลข 3 ตัวได้อย่างไร มันจะง่ายมากกับการใช้งานBigIntegerแต่สมมติว่าฉันไม่สามารถใช้งานได้ BigInteger bx = new BigInteger(x); BigInteger …
103 c#  .net  long-integer 

8
ตรวจสอบว่า IEnumerable หนึ่งตัวมีองค์ประกอบทั้งหมดของ IEnumerable หรือไม่
วิธีใดเป็นวิธีที่เร็วที่สุดในการตรวจสอบว่า IEnumerable หนึ่งตัวมีองค์ประกอบทั้งหมดของ IEnumerable อื่น ๆ หรือไม่เมื่อเปรียบเทียบฟิลด์ / คุณสมบัติของแต่ละองค์ประกอบในทั้งสองคอลเลคชัน public class Item { public string Value; public Item(string value) { Value = value; } } //example usage Item[] List1 = {new Item("1"),new Item("a")}; Item[] List2 = {new Item("a"),new Item("b"),new Item("c"),new Item("1")}; bool Contains(IEnumerable<Item> list1, IEnumerable<Item>, list2) { var list1Values = …
103 c#  .net  linq  ienumerable 

16
System.Net.Http: หายไปจากเนมสเปซ? (โดยใช้. net 4.5)
TL; DR: ฉันยังใหม่กับภาษานี้และไม่รู้ว่าฉันกำลังทำอะไรอยู่ นี่คือชั้นเรียนของฉันจนถึงตอนนี้: using System; using System.Collections.Generic; using System.Net.Http; using System.Web; using System.Net; using System.IO; public class MyClass { private const string URL = "https://sub.domain.com/objects.json?api_key=123"; private const string data = @"{""object"":{""name"":""Title""}}"; public static void CreateObject() { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = data.Length; …
103 c#  api  rest  post 

6
เหตุใด Math.Floor (Double) จึงส่งคืนค่าประเภท Double
ฉันต้องการรับค่าจำนวนเต็มด้านซ้ายมือจากทศนิยมหรือสองเท่า สำหรับ Ex: ฉันต้องได้ค่า 4 จาก 4.6 ฉันลองใช้ฟังก์ชัน Math.Floor แต่มันส่งคืนค่าสองเท่าเช่น: มันกลับ 4.0 จาก 4.6 เอกสาร MSDN ระบุว่าส่งคืนค่าจำนวนเต็ม ฉันขาดอะไรที่นี่? หรือมีวิธีอื่นในการบรรลุสิ่งที่ฉันกำลังมองหา?
103 c#  math  floor 

4
ฉันจะให้การสนับสนุนนักแสดงที่กำหนดเองสำหรับชั้นเรียนของฉันได้อย่างไร
ฉันจะให้การสนับสนุนในการคัดเลือกชั้นเรียนของฉันเป็นประเภทอื่นได้อย่างไร ตัวอย่างเช่นถ้าฉันมีการใช้การจัดการ a ของตัวเองbyte[]และฉันต้องการให้คนอื่นส่งชั้นเรียนของฉันไปที่ a byte[]ซึ่งจะคืนสมาชิกส่วนตัวฉันจะทำอย่างไร เป็นเรื่องปกติหรือไม่ที่จะปล่อยให้พวกเขาร่ายสิ่งนี้เป็นสตริงหรือฉันควรจะลบล้างToString()(หรือทั้งสองอย่าง)
103 c#  casting 

9
ฉันจะปัดเศษเป็น 0.5 ที่ใกล้ที่สุดได้อย่างไร
ฉันต้องแสดงการให้คะแนนและสำหรับสิ่งนั้นฉันต้องการการเพิ่มดังนี้: ถ้าตัวเลขเท่ากับ 1.0 มันควรจะเท่ากับ 1 ถ้าตัวเลขคือ 1.1 ควรเท่ากับ 1 ถ้าตัวเลขคือ 1.2 ควรเท่ากับ 1 ถ้าตัวเลขคือ 1.3 ควรจะเท่ากับ 1.5 ถ้าตัวเลขเท่ากับ 1.4 ควรเท่ากับ 1.5 ถ้าจำนวน 1.5 ควรเท่ากับ 1.5 ถ้าจำนวน 1.6 ควรเท่ากับ 1.5 ถ้าจำนวน 1.7 ควรเท่ากับ 1.5 ถ้าจำนวน 1.8 ควรเท่ากับ 2.0 ถ้าจำนวน 1.9 ควรเท่ากับ 2.0 ถ้าตัวเลขคือ 2.0 ควรเท่ากับ 2.0 ถ้าตัวเลขเท่ากับ 2.1 ควรเท่ากับ 2.0 และอื่น …
103 c#  math  function 

9
รูปแบบวันที่ yyyy-MM-ddTHH: mm: ssZ
ฉันคิดว่านี่น่าจะค่อนข้างง่าย แต่ไม่สามารถเข้าใจได้ :( ในรูปแบบนี้ Z คือไทม์โซน T คือรูปแบบเวลานาน ฉันจะหาวันที่ในรูปแบบนี้ได้อย่างไรยกเว้นโดยใช้ DateTime dt = DateTime.Now; Console.WriteLine(dt.ToString("yyyy-MM-ddTHH:mm:ssZ")); ใน C #
103 c# 

3
อินไลน์อินไลน์ของรายการค่าคงที่
ฉันพยายามทำสิ่งนี้: public const List<String> METRICS = new List<String>() { SourceFile.LOC, SourceFile.MCCABE, SourceFile.NOM, SourceFile.NOA, SourceFile.FANOUT, SourceFile.FANIN, SourceFile.NOPAR, SourceFile.NDC, SourceFile.CALLS }; แต่น่าเสียดายที่สิ่งนี้ใช้ไม่ได้: FileStorer.METRICS' is of type 'System.Collections.Generic.List<string>'. A const field of a reference type other than string can only be initialized with null. ฉันจะแก้ปัญหานี้ได้อย่างไร?
103 c#  .net 

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