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

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

11
วิธีการโทรอย่างปลอดภัยวิธี async ใน C # โดยไม่ต้องรอ
ฉันมีasyncวิธีการที่ไม่ส่งคืนข้อมูล: public async Task MyAsyncMethod() { // do some stuff async, don't return any data } ฉันกำลังเรียกสิ่งนี้จากวิธีอื่นซึ่งคืนค่าข้อมูลบางอย่าง public string GetStringData() { MyAsyncMethod(); // this generates a warning and swallows exceptions return "hello world"; } การโทรMyAsyncMethod()โดยไม่รอมันทำให้เกิด " เพราะการโทรนี้ไม่รอวิธีการปัจจุบันยังคงทำงานก่อนที่การโทรจะเสร็จสิ้น " เตือนใน visual studio ในหน้าคำเตือนนั้นระบุว่า: คุณควรพิจารณาปราบปรามเตือนเฉพาะถ้าคุณแน่ใจว่าคุณไม่ต้องการที่จะรอให้สายตรงกันที่จะเสร็จสมบูรณ์และว่าวิธีการที่เรียกว่าจะไม่เพิ่มข้อยกเว้นใด ๆ ฉันแน่ใจว่าฉันไม่ต้องการรอให้การโทรเสร็จสมบูรณ์ ฉันไม่ต้องการหรือมีเวลา แต่การโทรอาจเพิ่มข้อยกเว้น ฉันพบปัญหานี้สองสามครั้งและฉันแน่ใจว่าเป็นปัญหาทั่วไปที่ต้องมีวิธีแก้ไขปัญหาร่วมกัน ฉันจะเรียกวิธีการ async …

6
เหตุใดฉันจึงไม่มี“ สิ่งของคงที่สตริงสาธารณะ S =” เนื้อหา "ในชั้นเรียนของฉัน
เมื่อพยายามรวบรวมชั้นเรียนของฉันฉันพบข้อผิดพลาด: ค่าคงที่'NamespaceName.ClassName.CONST_NAME'ไม่สามารถทำเครื่องหมายแบบคงที่ได้ ที่บรรทัด: public static const string CONST_NAME = "blah"; ฉันสามารถทำสิ่งนี้ได้ตลอดเวลาใน Java ผมทำอะไรผิดหรือเปล่า? และทำไมไม่ให้ฉันทำเช่นนี้?
321 c#  const  constants 

6
การรับไอเท็มตามดัชนี
ฉันเพิ่งเริ่มใช้ c # ย้ายจาก Java ฉันไม่สามารถหาวิธีรับไอเท็มตามดัชนีได้ ใน java เพื่อให้ได้ไอเท็มแรกของรายการมันจะเป็น: list1.get(0); อะไรคือสิ่งที่เทียบเท่าใน c #?
321 c#  list 

7
วัตถุประสงค์ของการสแต็คคืออะไร? ทำไมเราต้องการมัน?
ดังนั้นฉันกำลังเรียนรู้ MSIL ในขณะนี้เพื่อเรียนรู้การดีบักแอปพลิเคชัน C # .NET ของฉัน ฉันสงสัยอยู่เสมอ: จุดประสงค์ของกองคืออะไร เพียงใส่คำถามของฉันในบริบท: เหตุใดจึงมีการถ่ายโอนจากหน่วยความจำไปกองหรือ "โหลด" ในทางกลับกันเหตุใดจึงมีการถ่ายโอนจากสแต็คไปยังหน่วยความจำหรือ "การจัดเก็บ" ทำไมไม่เพียงแค่วางมันทั้งหมดไว้ในหน่วยความจำ? เป็นเพราะมันเร็วกว่าไหม เป็นเพราะแรมใช้หรือไม่ เพื่อประสิทธิภาพ? ฉันพยายามเข้าใจสิ่งนี้เพื่อช่วยให้ฉันเข้าใจรหัสCILอย่างลึกซึ้งยิ่งขึ้น
320 c#  .net  vb.net  cil  .net-assembly 

7
LINQ ส่งคืนอะไรเมื่อผลลัพธ์ว่างเปล่า
ฉันมีคำถามเกี่ยวกับการสืบค้น LINQ โดยปกติแบบสอบถามส่งกลับIEnumerable<T>ชนิด หากการส่งคืนว่างเปล่าไม่แน่ใจว่าเป็นโมฆะหรือไม่ ฉันไม่แน่ใจว่าสิ่งต่อไปนี้ToList()จะทำให้เกิดข้อยกเว้นหรือเปล่าList<string>หากไม่พบIEnumerableผลลัพธ์? List<string> list = {"a"}; // is the result null or something else? IEnumerable<string> ilist = from x in list where x == "ABC" select x; // Or directly to a list, exception thrown? List<string> list1 = (from x in list where x == "ABC" select …
319 c#  linq 

11
รับ ID เธรดจากเธรด
ใน C # เมื่อทำการดีบักเธรดคุณสามารถดู ID ของแต่ละเธรดได้ ฉันไม่พบวิธีรับเธรดเดียวกันโดยทางโปรแกรม ฉันไม่สามารถรับ ID ของเธรดปัจจุบันได้ (ในคุณสมบัติของThread.currentThread) ดังนั้นฉันจึงสงสัยว่า Visual Studio รับ ID ของเธรดได้อย่างไรและมีวิธีรับหมายเลขอ้างอิงของเธรดที่มี id 2345อย่างไร
319 c#  .net  multithreading 

29
การใช้“ การใช้” ใน C # คืออะไร
ผู้ใช้kokosตอบคุณสมบัติที่ซ่อนอยู่ที่ยอดเยี่ยมของคำถามC #โดยกล่าวถึงusingคำหลัก คุณอธิบายรายละเอียดเกี่ยวกับเรื่องนั้นได้ไหม? มีประโยชน์usingอะไรบ้าง?

8
วิธีโพสต์ข้อมูลไปยัง URL ที่ระบุโดยใช้ WebClient ใน C #
ฉันต้องใช้ "HTTP Post" กับ WebClient เพื่อโพสต์ข้อมูลบางอย่างไปยัง URL เฉพาะที่ฉันมี ตอนนี้ฉันรู้ว่าสิ่งนี้สามารถทำได้กับ WebRequest แต่ด้วยเหตุผลบางอย่างที่ฉันต้องการใช้ WebClient แทน เป็นไปได้ไหม ถ้าเป็นเช่นนั้นบางคนสามารถแสดงตัวอย่างหรือชี้แนะทิศทางที่ถูกต้องให้ฉันได้ไหม
319 c#  post  webclient 

29
ค้นหาและแยกตัวเลขจากสตริง
ฉันมีความต้องการในการค้นหาและแยกจำนวนที่มีอยู่ในสตริง ตัวอย่างเช่นจากสตริงเหล่านี้: string test = "1 test" string test1 = " 1 test" string test2 = "test 99" ฉันจะทำสิ่งนี้ได้อย่างไร
319 c#  .net  regex  string 

8
วิธีที่เร็วที่สุดในการอ่านไฟล์ข้อความแบบบรรทัดต่อบรรทัดคืออะไร
ฉันต้องการอ่านไฟล์ข้อความทีละบรรทัด ฉันต้องการทราบว่าฉันทำอย่างมีประสิทธิภาพมากที่สุดเท่าที่จะทำได้ภายในขอบเขต. NET C # ของสิ่งต่าง ๆ นี่คือสิ่งที่ฉันพยายาม: var filestream = new System.IO.FileStream(textFilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite); var file = new System.IO.StreamReader(filestream, System.Text.Encoding.UTF8, true, 128); while ((lineOfText = file.ReadLine()) != null) { //Do something with the lineOfText }


12
ฉันได้รับข้อผิดพลาด“ มีความพยายามโหลดโปรแกรมด้วยรูปแบบที่ไม่ถูกต้อง” ในโครงการจำลองแบบ SQL Server
ข้อผิดพลาดที่แน่นอนมีดังนี้ ไม่สามารถโหลดไฟล์หรือแอสเซมบลี 'Microsoft.SqlServer.Replication, Version = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91' หรือการอ้างอิงอย่างใดอย่างหนึ่ง มีความพยายามในการโหลดโปรแกรมด้วยรูปแบบที่ไม่ถูกต้อง ฉันเพิ่งเริ่มทำงานกับโครงการนี้อีกครั้งหลังจากสองเดือนไปยังโครงการอื่น มันทำงานได้อย่างสมบูรณ์แบบมาก่อนและฉันได้ตรวจสอบการอ้างอิงทั้งหมดอีกครั้ง

11
การดีซีเรียลไลซ์วัตถุ JSON เป็น. NET โดยใช้ Newtonsoft (หรืออาจจะเป็น LINQ ถึง JSON)
ฉันรู้ว่ามีบางโพสต์เกี่ยวกับ Newtonsoft ดังนั้นหวังว่านี่ไม่ใช่การทำซ้ำอย่างแน่นอน ... ฉันพยายามแปลงข้อมูล JSON ที่ส่งคืนโดย Kazaa API เป็นวัตถุที่ดีในบางประเภท WebClient client = new WebClient(); Stream stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&type=Album"); StreamReader reader = new StreamReader(stream); List<string> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(reader.Read().ToString()); foreach (string item in list) { Console.WriteLine(item); } //Console.WriteLine(reader.ReadLine()); stream.Close(); นั่นคือ JsonConvert บรรทัดล่าสุดที่ฉันพยายาม ... ฉันไม่ได้รับมันและหวังว่าจะกำจัดฟุตเวิร์กโดยถามพวกคุณ ตอนแรกฉันพยายามแปลงมันเป็นพจนานุกรมหรืออะไรบางอย่าง ... และที่จริงแล้วฉันแค่ต้องการขัดขวางค่าบางอย่างในเอกสารเพื่อพิจารณาจากเอกสารบางที LINT ของ Newtonsoft เป็น …

4
การรอการดำเนินการแบบอะซิงโครนัสพร้อมกันและทำไม Wait () ทำให้โปรแกรมค้างที่นี่
คำนำ : ฉันกำลังมองหาคำอธิบายไม่ใช่แค่ทางออก ฉันรู้วิธีแก้ปัญหาแล้ว แม้ว่าจะใช้เวลาหลายวันในการศึกษาบทความ MSDN เกี่ยวกับ Asynchronous Pattern (TAP) แบบใช้งาน, async และรอฉันยังคงสับสนเล็กน้อยเกี่ยวกับรายละเอียดปลีกย่อยบางส่วน ฉันกำลังเขียนตัวบันทึกสำหรับแอพ Windows Store และฉันต้องการสนับสนุนทั้งการบันทึกแบบอะซิงโครนัสและการซิงโครนัส วิธีการแบบอะซิงโครนัสตาม TAP วิธีการแบบอะซิงโครนัสควรซ่อนทั้งหมดนี้และดูและทำงานเหมือนกับวิธีการทั่วไป นี่คือวิธีการหลักของการบันทึกแบบอะซิงโครนัส: private async Task WriteToLogAsync(string text) { StorageFolder folder = ApplicationData.Current.LocalFolder; StorageFile file = await folder.CreateFileAsync("log.log", CreationCollisionOption.OpenIfExists); await FileIO.AppendTextAsync(file, text, Windows.Storage.Streams.UnicodeEncoding.Utf8); } ตอนนี้วิธีการซิงโครนัสที่สอดคล้องกัน ... รุ่น 1 : private void WriteToLog(string …

25
พบหลายประเภทที่ตรงกับตัวควบคุมที่ชื่อว่า 'บ้าน'
ขณะนี้ฉันมีโครงการ MVC3 สองรายการที่ไม่เกี่ยวข้องซึ่งโฮสต์ออนไลน์ หนึ่งทำงานได้ดีอื่น ๆ ไม่ทำงานให้ฉันข้อผิดพลาด: พบหลายประเภทที่ตรงกับตัวควบคุมที่ชื่อว่า 'บ้าน' สิ่งนี้อาจเกิดขึ้นได้หากเส้นทางที่ให้บริการคำขอนี้ ('{controller} / {action} / {id}') ไม่ได้ระบุเนมสเปซเพื่อค้นหาคอนโทรลเลอร์ที่ตรงกับคำขอ หากเป็นกรณีนี้ให้ลงทะเบียนเส้นทางนี้โดยเรียกโอเวอร์โหลดของวิธีการ 'MapRoute' ที่ใช้พารามิเตอร์ 'namespaces' วิธีที่ hoster ของฉันทำงานคือเขาให้การเข้าถึง FTP แก่ฉันและในโฟลเดอร์นั้นฉันมีอีกสองโฟลเดอร์หนึ่งโฟลเดอร์สำหรับแต่ละแอปพลิเคชันของฉัน ftpFolderA2 / foo.com ftpFolderA2 / bar.com foo.com ทำงานได้ดีฉันเผยแพร่แอปพลิเคชันของฉันไปยังระบบไฟล์ในท้องถิ่นแล้ว FTP เนื้อหาและใช้งานได้ เมื่อฉันอัปโหลดและพยายามเรียกใช้ bar.com ปัญหาดังกล่าวเกิดขึ้นและทำให้ฉันไม่สามารถใช้งานเว็บไซต์ของฉันได้ ทั้งหมดในขณะที่ foo.com ยังคงใช้งานได้ เป็น bar.com ค้นหาจากตัวควบคุมทุกที่ภายในของ ftpFolderA2 และที่ว่าทำไมมันหาอีกHomeController? ฉันจะบอกให้ดูเฉพาะในโฟลเดอร์คอนโทรลเลอร์เท่าที่ควรได้อย่างไร ข้อเท็จจริง: ไม่ได้ใช้พื้นที่ เหล่านี้เป็นสองโครงการที่ไม่เกี่ยวข้องอย่างสมบูรณ์ ฉันวางแต่ละโครงการที่เผยแพร่ในแต่ละโฟลเดอร์ที่เกี่ยวข้อง …

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