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

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

9
ไม่สามารถแปลงประเภท 'Int' เป็น 'T' โดยปริยาย
โทรหาGet<int>(Stat);หรือGet<string>(Name); แต่เมื่อรวบรวมฉันจะได้รับ: ไม่สามารถแปลงประเภท 'int' เป็น 'T' โดยปริยาย stringและสิ่งเดียวกัน public T Get<T>(Stats type) where T : IConvertible { if (typeof(T) == typeof(int)) { int t = Convert.ToInt16(PlayerStats[type]); return t; } if (typeof(T) == typeof(string)) { string t = PlayerStats[type].ToString(); return t; } }
92 c#  generics 

8
คุณสมบัติ JSON ตอนนี้ตัวพิมพ์เล็กบน swap จาก ASP .Net Core 1.0.0-rc2-final เป็น 1.0.0
ฉันเพิ่งเปลี่ยนโปรเจ็กต์ของเราจาก ASP .Net Core 1.0.0-rc2-final เป็น 1.0.0 เว็บไซต์และลูกค้าของเราหยุดทำงานเนื่องจากใช้คุณสมบัติ JSON เป็นตัวพิมพ์ใหญ่ ตัวอย่างเช่นตอนนี้ JavaScript บรรทัดนี้ล้มเหลว for (var i = 0; i < collection.Items.length; i++){ เนื่องจากขณะนี้คอนโทรลเลอร์เรียกอาร์เรย์ว่า "items" แทน "Items" ฉันไม่ได้ทำการเปลี่ยนแปลงใด ๆ นอกเหนือจากการติดตั้งแพ็คเกจที่อัปเดตและแก้ไขไฟล์ project.json ฉันไม่ได้เปลี่ยนไฟล์โมเดล C # ซึ่งยังคงใช้ประโยชน์จากคุณสมบัติของมัน เหตุใดคอนโทรลเลอร์ ASP.Net Core จึงเริ่มส่งคืน JSON ที่มีคุณสมบัติต่ำกว่า ฉันจะกลับไปให้พวกเขาเคารพกรณีของชื่อคุณสมบัติจากแบบจำลองได้อย่างไร

5
แปลงวัตถุเป็นสตริง XML
ฉันมีคลาสชื่อWebserviceTypeฉันได้มาจากเครื่องมือ xsd.exe จากไฟล์ XSD ตอนนี้ฉันต้องการยกเลิกการเชื่อมต่ออินสแตนซ์ของWebServiceTypeวัตถุเป็นสตริง ฉันจะทำเช่นนี้ได้อย่างไร? MethodCheckTypeวัตถุได้เป็น params WebServiceTypeอาร์เรย์ การลองครั้งแรกของฉันเหมือนกับว่าฉันทำให้เป็นอนุกรม: ด้วย a XmlSerializerและ a StringWriter(ในขณะที่ทำให้เป็นอนุกรมฉันใช้ a StringReader) นี่คือวิธีการที่ฉันทำให้WebServiceTypeวัตถุเป็นอนุกรม: XmlSerializer serializer = new XmlSerializer(typeof(MethodCheckType)); MethodCheckType output = null; StringReader reader = null; // catch global exception, logg it and throw it try { reader = new StringReader(path); output = (MethodCheckType)serializer.Deserialize(reader); } …
92 c#  xml  serialization 

10
วิธีสร้าง C # Switch Statement ใช้ IgnoreCase
ถ้าฉันมีคำสั่ง switch-case ที่อ็อบเจ็กต์ในสวิตช์เป็นสตริงเป็นไปได้ไหมที่จะทำการเปรียบเทียบ IgnoreCase ฉันมีตัวอย่างเช่น: string s = "house"; switch (s) { case "houSe": s = "window"; } จะsได้ค่า "window"? ฉันจะแทนที่คำสั่ง switch-case ได้อย่างไรจึงจะเปรียบเทียบสตริงโดยใช้ IgnoreCase

7
วิธีรับชื่อฐานข้อมูลจาก Connection String โดยใช้ SqlConnectionStringBuilder
ฉันไม่ต้องการแยกสตริงการเชื่อมต่อโดยใช้การจัดการสตริงและรับเซิร์ฟเวอร์ฐานข้อมูล uid และรหัสผ่าน ฉันอ่านลิงค์ต่อไปนี้และอ่านคำตอบที่ยอมรับฉันพบว่าเป็นวิธีที่ดีที่สุดในการดึงรหัสผู้ใช้และรหัสผ่านออกจากสตริงการเชื่อมต่อ แต่ชื่อฐานข้อมูลล่ะ วิธีที่ถูกต้องในการรับชื่อผู้ใช้และรหัสผ่านจากสตริงการเชื่อมต่อ? วิธีรับชื่อฐานข้อมูลจาก Connection String โดยใช้ SqlConnectionStringBuilder (DataSource เป็นชื่อเซิร์ฟเวอร์หรือไม่)
92 c#  asp.net  sql  ado.net 

15
เปลี่ยนกรณี: ฉันสามารถใช้ช่วงแทนตัวเลขเดียวได้ไหม
ฉันต้องการใช้สวิตช์ แต่ฉันมีหลายกรณีมีทางลัดหรือไม่? จนถึงตอนนี้ทางออกเดียวที่ฉันรู้และลองคือ: switch (number) { case 1: something; break; case 2: other thing; break; ... case 9: .........; break; } สิ่งที่ฉันหวังว่าจะทำได้มีดังนี้: switch (number) { case (1 to 4): do the same for all of them; break; case (5 to 9): again, same thing for these numbers; break; }


6
.NET ข้อยกเว้นหน่วยความจำไม่เพียงพอ - ใช้ 1.3GB แต่ติดตั้ง 16GB
ฉันได้รับข้อยกเว้นหน่วยความจำไม่เพียงพอในแอปพลิเคชัน C # ของฉันเมื่อการใช้งานหน่วยความจำสำหรับแอปพลิเคชันเกิน 1.3GB ฉันมีปัญหาเดียวกันนี้ในเครื่อง 32 บิตที่มีหน่วยความจำ 3GB และมันก็สมเหตุสมผลแล้ว แต่ตอนนี้ฉันอัปเกรดฮาร์ดแวร์เป็นเครื่อง 64 บิตที่มีหน่วยความจำ 16GB โดยใช้เมนบอร์ดระดับไฮเอนด์และแรมระดับไฮเอนด์ แต่ข้อยกเว้นหน่วยความจำไม่เพียงพอยังคงเกิดขึ้นหลังจาก 1.3GB! ฉันรู้ว่าไม่มีออบเจ็กต์เดียวที่เกิน 2GB และ 1.3 ก็น้อยกว่า 2GB อยู่ดีดังนั้นขีด จำกัด MS 2GB ในตัวสำหรับอ็อบเจ็กต์เดียวจึงไม่น่าจะเป็นปัญหา ดูเหมือนว่าจะมี kill-switch ของ Windows บางประเภทเมื่อแอปถึงเกณฑ์การใช้หน่วยความจำ จากนั้นควรมีวิธีกำหนดค่านี้ อาจอยู่ในรีจิสทรีหรือไม่? ความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมาก!
92 c#  out-of-memory 

2
App.config: ขอบเขตผู้ใช้เทียบกับแอปพลิเคชัน
ฉันได้เพิ่มไฟล์ App.config ในโปรเจ็กต์ของฉันแล้ว ฉันได้สร้างการตั้งค่าสองอย่างจากโครงการ> คุณสมบัติ> แผงการตั้งค่า - ฉันได้สังเกตเห็นว่าเมื่อผมเพิ่มการตั้งค่าให้ฉันสามารถกำหนดขอบเขตเป็นหรือUser Application- ผู้ใช้ ใบสมัคร ถ้าฉันกำหนดการตั้งค่าเมื่อUserไปที่userSettingsส่วน ถ้าฉันกำหนดการตั้งค่าตามที่Applicationไปที่applicationSettingsส่วน App.config <configuration> <userSettings> <DemoApp.Properties.Settings> <setting name="MySetting1" serializeAs="String"> <value>Value1</value> </setting> </DemoApp.Properties.Settings> </userSettings> <applicationSettings> <DemoApp.Properties.Settings> <setting name="MySetting2" serializeAs="String"> <value>Value2</value> </setting> </DemoApp.Properties.Settings> </applicationSettings> </configuration> แต่การตั้งค่าเหล่านี้สามารถเข้าถึงได้ด้วยวิธีเดียวกันจาก.cs- รหัส string mySetting1 = DemoApp.Properties.Settings.Default.MySetting1; string mySetting2 = DemoApp.Properties.Settings.Default.MySetting2; อะไรคือความแตกต่างระหว่างUserและApplicationขอบเขตและภายใต้สถานการณ์ใดที่เราควรเลือกระหว่างสองสิ่งนี้?

3
ฉันจะแน่ใจได้อย่างไรว่า FirstOrDefault <KeyValuePair> ส่งคืนค่า
นี่เป็นเวอร์ชันที่เรียบง่ายของสิ่งที่ฉันกำลังพยายามทำ: var days = new Dictionary&lt;int, string&gt;(); days.Add(1, "Monday"); days.Add(2, "Tuesday"); ... days.Add(7, "Sunday"); var sampleText = "My favorite day of the week is 'xyz'"; var day = days.FirstOrDefault(x =&gt; sampleText.Contains(x.Value)); เนื่องจากไม่มี 'xyz' ในพจนานุกรมเมธอด FirstOrDefault จะไม่ส่งคืนค่าที่ถูกต้อง ฉันต้องการตรวจสอบสถานการณ์นี้ แต่ฉันตระหนักดีว่าฉันไม่สามารถเปรียบเทียบผลลัพธ์กับ "null" ได้เนื่องจาก KeyValuePair เป็นโครงสร้าง รหัสต่อไปนี้ไม่ถูกต้อง: if (day == null) { System.Diagnotics.Debug.Write("Couldn't find …
91 c#  linq 

3
อะไรคือความแตกต่างระหว่าง“ LINQ to Entities”,“ LINQ to SQL” และ“ LINQ to Dataset”
ฉันทำงานกับ LINQ มาระยะหนึ่งแล้ว อย่างไรก็ตามยังคงเป็นปริศนาอยู่เล็กน้อยว่าความแตกต่างที่แท้จริงระหว่างรสชาติที่กล่าวถึงของ LINQ คืออะไร คำตอบที่ประสบความสำเร็จจะมีความแตกต่างสั้น ๆ ระหว่างพวกเขา เป้าหมายหลักของแต่ละรสชาติคืออะไรมีประโยชน์อย่างไรและมีผลต่อประสิทธิภาพ ... ป.ล. ฉันรู้ว่ามีแหล่งข้อมูลมากมายอยู่ที่นั่น แต่ฉันกำลังมองหา "ข้อมูลโกง" ชนิดหนึ่งที่แนะนำให้มือใหม่ไปหาเป้าหมายที่เจาะจง
91 c#  sql  linq  dataset  entities 

5
อย่าหยุดดีบักเกอร์ที่ข้อยกเว้นนั้นเมื่อถูกโยนและจับ
ในเครื่องมือ / ข้อยกเว้นฉันได้ตั้งค่าตัวเลือกให้ดีบักเกอร์หยุดเมื่อเกิดข้อยกเว้น ไม่ว่าจะจับได้หรือไม่. ฉันจะยกเว้นข้อยกเว้นของกฎนั้นได้อย่างไร ที่ไหนสักแห่งในรหัสของฉันมีข้อยกเว้นที่ถูกจับได้ซึ่งเป็นส่วนหนึ่งของตรรกะของโปรแกรม ดังนั้นฉันจึงไม่ต้องการให้ข้อยกเว้นนั้นหยุดดีบักเกอร์ทุกครั้งที่ถูกโจมตี ตัวอย่าง: ฉันต้องการละเว้นข้อยกเว้น nullreference (ซึ่งถูกจับได้) ในบรรทัด 344 ฉันต้องการหยุดที่ข้อยกเว้นอื่น ๆ ทั้งหมด

3
สลับกับพฤติกรรมแปลก ๆ var / null
ระบุรหัสต่อไปนี้: string someString = null; switch (someString) { case string s: Console.WriteLine("string s"); break; case var o: Console.WriteLine("var o"); break; default: Console.WriteLine("default"); break; } ทำไมงบเปลี่ยนการจับคู่ในcase var o? เป็นความเข้าใจของฉันที่case string sไม่ตรงกันเมื่อใดs == nullเนื่องจาก (ได้ผล) (null as string) != nullประเมินเป็นเท็จ IntelliSense บน VS Code บอกฉันว่าoเป็นstringเช่นกัน ความคิดใด ๆ ? คล้ายกับ: C # 7 …

10
TextBox.TextChanged เหตุการณ์ที่เริ่มทำงานสองครั้งบนโปรแกรมจำลอง Windows Phone 7
ฉันมีแอปทดสอบที่ง่ายมากเพื่อเล่นกับ Windows Phone 7 ฉันเพิ่งเพิ่ม a TextBoxและ a TextBlockลงในเทมเพลต UI มาตรฐาน โค้ดที่กำหนดเองมีดังต่อไปนี้: public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent(); } private int counter = 0; private void TextBoxChanged(object sender, TextChangedEventArgs e) { textBlock1.Text += "Text changed " + (counter++) + "\r\n"; } } TextBox.TextChangedเหตุการณ์เป็นสายขึ้นไปTextBoxChangedใน XAML ไปนี้: …

4
รวบรวม C # Lambda Expressions Performance
พิจารณาการจัดการอย่างง่ายต่อไปนี้สำหรับคอลเลกชัน: static List&lt;int&gt; x = new List&lt;int&gt;() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; var result = x.Where(i =&gt; i % 2 == 0).Where(i =&gt; i &gt; 5); ตอนนี้มาใช้นิพจน์ รหัสต่อไปนี้เทียบเท่าโดยประมาณ: static void UsingLambda() { Func&lt;IEnumerable&lt;int&gt;, IEnumerable&lt;int&gt;&gt; lambda = l =&gt; l.Where(i =&gt; i % 2 …

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