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

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

8
ลำดับไม่มีองค์ประกอบ?
ฉันกำลังใช้แบบสอบถามเดียวในสองที่เพื่อรับแถวจากฐานข้อมูล BlogPost post = (from p in dc.BlogPosts where p.BlogPostID == ID select p).Single(); แบบสอบถามนี้ใช้ได้ดีเมื่อเรียกแถวเพื่อใส่ข้อมูลลงในกล่องข้อความ แต่จะส่งกลับข้อผิดพลาด "ลำดับที่ไม่มีองค์ประกอบ" เมื่อใช้เพื่อดึงข้อมูลแถวเพื่อแก้ไขและนำกลับไปที่ฐานข้อมูล ฉันไม่เข้าใจว่าเหตุใดจึงอาจพบแถวที่เหมาะสมในอินสแตนซ์หนึ่ง แต่ไม่พบแถวอื่น (ใช้ ASP.NET MVC และ LINQ)
131 c#  linq 

11
ฉันจะเขียนบันทึกจากภายใน Startup.cs ได้อย่างไร
ในการดีบักแอพ. NET Core ซึ่งล้มเหลวในการเริ่มต้นฉันต้องการเขียนบันทึกจากภายในไฟล์ startup.cs ฉันมีการตั้งค่าการบันทึกภายในไฟล์ที่สามารถใช้ในส่วนที่เหลือของแอพนอกไฟล์ startup.cs แต่ไม่แน่ใจว่าจะเขียนบันทึกจากภายในไฟล์ startup.cs ได้อย่างไร
131 c#  asp.net-core 

8
คำว่า "ระเหย" ใช้สำหรับอะไร
Наэтотвопросестьответына Stack Overflow нарусском : Ключевоеслово volatile ใน Java ฉันอ่านบทความเกี่ยวกับvolatileคำหลัก แต่ฉันไม่สามารถเข้าใจการใช้งานที่ถูกต้อง คุณช่วยบอกฉันทีว่ามันควรใช้กับอะไรใน C # และใน Java?
130 c#  java  volatile 

7
วิธีสร้างประเภทไดนามิกหรือวัตถุไดนามิกใน C #
มีตัวอย่างเช่นคุณสมบัติViewBagของControllerBaseคลาสและเราสามารถรับ / ตั้งค่าแบบไดนามิกและเพิ่มจำนวนฟิลด์หรือคุณสมบัติเพิ่มเติมใด ๆ ให้กับวัตถุนี้ซึ่งเท่มากฉันต้องการใช้บางอย่างเช่นนั้นนอกเหนือจากแอปพลิเคชัน MVC และControllerคลาสอื่น ๆ ประเภทของแอปพลิเคชัน เมื่อฉันพยายามสร้างวัตถุแบบไดนามิกและตั้งค่าเป็นคุณสมบัติดังนี้: 1. dynamic MyDynamic = new { A="a" }; 2. MyDynamic.A = "asd"; 3. Console.WriteLine(MyDynamic.A); ฉันได้รับRuntimeBinderExceptionข้อความProperty หรือ indexer '<> f__AnonymousType0.A' ไม่สามารถกำหนดได้ - มันอ่านได้ในบรรทัดที่ 2 เท่านั้นนอกจากนี้ฉันขอแนะนำว่ามันไม่ใช่สิ่งที่ฉันกำลังมองหา อาจมีบางคลาสที่อนุญาตให้ฉันทำสิ่งที่ชอบ: ??? MyDynamic = new ???(); MyDynamic.A = "A"; MyDynamic.B = "B"; MyDynamic.C = DateTime.Now; MyDynamic.TheAnswerToLifeTheUniverseAndEverything …
130 c#  dynamic  viewbag 


4
ใน C # คลาสสามารถสืบทอดจากคลาสอื่นและอินเตอร์เฟสได้หรือไม่?
ฉันต้องการทราบว่าคลาสสามารถสืบทอดจากคลาสและส่วนต่อประสานได้หรือไม่ ตัวอย่างโค้ดด้านล่างใช้งานไม่ได้ แต่ฉันคิดว่ามันบ่งบอกถึงสิ่งที่ฉันต้องการจะทำ เหตุผลที่ฉันต้องการทำเช่นนี้เป็นเพราะ บริษัท ของฉันทำ USB, ซีเรียล, อีเธอร์เน็ตและอุปกรณ์อื่น ๆ ฉันกำลังพยายามพัฒนาส่วนประกอบ / อินเตอร์เฟสทั่วไปที่ฉันสามารถใช้เพื่อเขียนโปรแกรมสำหรับอุปกรณ์ทั้งหมดของเราที่จะช่วยให้สิ่งต่าง ๆ (เช่นการเชื่อมต่อการตัดการเชื่อมต่อการรับเฟิร์มแวร์) เหมือนกันสำหรับแอปพลิเคชันทั้งหมดของเรา เพื่อเพิ่มคำถามนี้: ถ้า GenericDevice อยู่ในโครงการที่แตกต่างกันฉันสามารถใส่อินเทอร์เฟซ IOurDevices ในโครงการนั้นจากนั้นให้คลาส USBDevice ใช้อินเทอร์เฟซถ้าฉันเพิ่มการอ้างอิงถึงโครงการแรกหรือไม่ เพราะต้องการอ้างอิงเพียงหนึ่งโครงการจากนั้นใช้อินเทอร์เฟซที่แตกต่างกันขึ้นอยู่กับว่าอุปกรณ์คืออะไร class GenericDevice { private string _connectionState; public connectionState { get{return _connectionState; } set{ _connectionState = value;} } } interface IOurDevices { void connectToDevice(); void DisconnectDevice(); …

8
ฉันจะเรียกใช้สคริปต์ Python จาก C # ได้อย่างไร
คำถามประเภทนี้มีการถามมาก่อนในระดับที่แตกต่างกัน แต่ฉันรู้สึกว่ายังไม่ได้รับคำตอบในแบบกระชับและดังนั้นฉันจึงถามอีกครั้ง ฉันต้องการเรียกใช้สคริปต์ใน Python สมมติว่านี่คือ: if __name__ == '__main__': with open(sys.argv[1], 'r') as f: s = f.read() print s ซึ่งได้รับตำแหน่งไฟล์อ่านแล้วพิมพ์เนื้อหา ไม่ซับซ้อน โอเคฉันจะรันใน C # ได้อย่างไร นี่คือสิ่งที่ฉันมีตอนนี้: private void run_cmd(string cmd, string args) { ProcessStartInfo start = new ProcessStartInfo(); start.FileName = cmd; start.Arguments = args; start.UseShellExecute = false; start.RedirectStandardOutput = true; …

7
วิธีการสร้าง. NET DateTime จากรูปแบบ ISO 8601
ฉันพบวิธีเปลี่ยน DateTime ให้เป็นรูปแบบISO 8601แต่ไม่มีอะไรเกี่ยวกับวิธีทำ reverse ใน C # ฉันมี2010-08-20T15:00:00Zและฉันต้องการที่จะทำให้มันกลายเป็นDateTimeวัตถุ ฉันสามารถแยกส่วนของสายตัวเองออกมาได้ แต่ดูเหมือนว่าจะมีงานมากมายสำหรับบางสิ่งที่เป็นมาตรฐานสากลอยู่แล้ว

13
ในการขีดเส้นใต้หรือเพื่อไม่ให้ขีดเส้นใต้นั่นคือคำถาม
มีปัญหาใด ๆ ที่ไม่นำหน้าฟิลด์ส่วนตัวที่มีเครื่องหมายขีดล่างใน C # หรือไม่หากเวอร์ชันไบนารีกำลังถูกใช้โดยภาษาเฟรมเวิร์กอื่น ๆ ? ตัวอย่างเช่นเนื่องจาก C # คำนึงถึงขนาดตัวพิมพ์คุณสามารถโทรหาฟิลด์ "foo" และทรัพย์สินสาธารณะ "Foo" และใช้งานได้ดี นี้จะมีการใด ๆ ที่มีผลในภาษากรณีตายเช่น VB.NET จะมีโดยใด ๆ CLS ปฏิบัติ (หรืออื่น ๆ ) ปัญหาถ้าชื่อมีความแตกต่างโดยปลอกเท่านั้น?
130 c# 

8
เปลี่ยน app.config เริ่มต้นที่รันไทม์
ฉันมีปัญหาต่อไปนี้: เรามีแอปพลิเคชันที่โหลดโมดูล (ส่วนเสริม) โมดูลเหล่านี้อาจต้องการรายการใน app.config (เช่นการกำหนดค่า WCF) เนื่องจากโมดูลถูกโหลดแบบไดนามิกฉันไม่ต้องการให้รายการเหล่านี้อยู่ในไฟล์ app.config ของแอปพลิเคชันของฉัน สิ่งที่ฉันต้องการจะทำมีดังต่อไปนี้: สร้าง app.config ใหม่ในหน่วยความจำที่รวมส่วนการกำหนดค่าจากโมดูล บอกแอปพลิเคชันของฉันให้ใช้ app.config ใหม่นั้น หมายเหตุ: ฉันไม่ต้องการเขียนทับ app.config เริ่มต้น! ควรทำงานอย่างโปร่งใสตัวอย่างเช่นConfigurationManager.AppSettingsใช้ไฟล์ใหม่นั้น ในระหว่างการประเมินของฉันของปัญหานี้ผมมาด้วยวิธีเดียวกับที่ให้ไว้ที่นี่: โหลด app.config กับ nunit น่าเสียดายที่ดูเหมือนจะไม่ทำอะไรเลยเพราะฉันยังได้รับข้อมูลจาก app.config ปกติ ฉันใช้รหัสนี้เพื่อทดสอบ: Console.WriteLine(ConfigurationManager.AppSettings["SettingA"]); Console.WriteLine(Settings.Default.Setting); var combinedConfig = string.Format(CONFIG2, CONFIG); var tempFileName = Path.GetTempFileName(); using (var writer = new StreamWriter(tempFileName)) { writer.Write(combinedConfig); …
130 c#  .net  app-config 

13
ฉันจะดู MSIL / CIL ที่สร้างโดยคอมไพเลอร์ C # ได้อย่างไร ทำไมจึงเรียกว่าการชุมนุม?
ฉันยังใหม่กับการเขียนโปรแกรม. NET C # ฉันกำลังติดตามหนังสือสองสามเล่ม ว่ากันว่าแทนที่จะรวบรวมโดยตรงกับรหัสไบนารี (Native code) รหัสระดับสูงจะถูกแปลงเป็นภาษากลาง (เรียกว่า MSIL หรือที่เรียกว่า CIL) แต่เมื่อฉันรวบรวมฉันได้รับไฟล์ exe / Dll MSIL / CIL นี้มีอยู่ในไฟล์ exe / dll หรือไม่ ฉันต้องการเห็นรหัสภาษากลางนั้น เพียงเพื่อให้รู้สึกถึงการมีอยู่ของมัน วิธีดู? พวกเขากำลังเรียกไฟล์ exe / dll นี้ว่าไฟล์assembly. พวกเขาใช้ "คำแฟนซี" เพียงเพื่อแยกความแตกต่างจากไฟล์ exe / dll ที่มีรหัสไบนารี (โค้ดเนทีฟ) หรือไม่?
130 c#  .net  assemblies 

3
async HttpClient จาก. Net 4.5 เป็นตัวเลือกที่ไม่ดีสำหรับแอปพลิเคชันที่มีภาระงานมากหรือไม่?
ฉันเพิ่งสร้างแอปพลิเคชันง่ายๆสำหรับทดสอบปริมาณงานการโทร HTTP ที่สามารถสร้างในลักษณะอะซิงโครนัสเทียบกับวิธีการแบบมัลติเธรดแบบเดิม แอปพลิเคชันสามารถทำการโทร HTTP ตามจำนวนที่กำหนดไว้ล่วงหน้าและในตอนท้ายจะแสดงเวลาทั้งหมดที่จำเป็นในการดำเนินการ ในระหว่างการทดสอบของฉันมีการเรียก HTTP ทั้งหมดไปยังเซิร์ฟเวอร์ IIS ในเครื่องของฉันและพวกเขาดึงไฟล์ข้อความขนาดเล็ก (ขนาด 12 ไบต์) ส่วนที่สำคัญที่สุดของโค้ดสำหรับการใช้งานแบบอะซิงโครนัสแสดงอยู่ด้านล่าง: public async void TestAsync() { this.TestInit(); HttpClient httpClient = new HttpClient(); for (int i = 0; i < NUMBER_OF_REQUESTS; i++) { ProcessUrlAsync(httpClient); } } private async void ProcessUrlAsync(HttpClient httpClient) { HttpResponseMessage httpResponse = null; try …

17
การเริ่มต้นสตริงเริ่มต้น: NULL หรือว่างเปล่า? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันเริ่มต้นสตริงของฉันเป็น NULL เสมอโดยคิดว่า NULL หมายถึงการไม่มีค่าและ "" หรือ String.Empty เป็นค่าที่ถูกต้อง ฉันได้เห็นตัวอย่างเพิ่มเติมของโค้ดเมื่อเร็ว ๆ นี้โดยที่ String.Empty ถือเป็นค่าเริ่มต้นหรือแสดงถึงไม่มีค่า สิ่งนี้ทำให้ฉันแปลกประหลาดโดยประเภทที่เพิ่มใหม่ว่างใน c # ดูเหมือนว่าเรากำลังก้าวถอยหลังด้วยสตริงโดยไม่ใช้ NULL เพื่อแสดงถึง 'ไม่มีค่า' คุณใช้อะไรเป็นตัวเริ่มต้นเริ่มต้นและทำไม? แก้ไข: จากคำตอบที่ฉันคิดต่อไป การหลีกเลี่ยงการจัดการข้อผิดพลาดหากค่าไม่ควรเป็นโมฆะเหตุใดจึงตั้งค่าเป็นค่าเริ่มNULLต้นตั้งแต่แรก บางทีอาจเป็นการดีกว่าที่จะระบุข้อผิดพลาดในสถานที่ที่เกิดขึ้นแทนที่จะปกปิดข้อผิดพลาดทั้งหมดในโค้ดเบสของคุณ การหลีกเลี่ยงการตรวจสอบโมฆะหากคุณเบื่อที่จะทำการตรวจสอบค่าว่างในโค้ดแล้วจะไม่เป็นการดีกว่าที่จะสรุปการตรวจสอบค่าว่าง บางทีห่อ (หรือขยาย!) วิธีการสตริงเพื่อให้NULLปลอดภัย? จะเกิดอะไรขึ้นถ้าคุณใช้งานอยู่ตลอดเวลาString.Emptyและโมฆะเกิดขึ้นเพื่อทำงานในระบบของคุณคุณเริ่มเพิ่มการNULLตรวจสอบหรือไม่? ฉันอดไม่ได้ที่จะกลับความเห็นว่ามันคือความเกียจคร้าน DBA ใด ๆ จะตบคุณเก้าวิธีเพื่อโง่ถ้าคุณใช้ '' แทนnullในฐานข้อมูลของเขา ฉันคิดว่าหลักการเดียวกันนี้ใช้ในการเขียนโปรแกรมและควรมีใครสักคนที่จะตีหัวคนที่ใช้String.Emptyมากกว่าที่NULLจะไม่แสดงคุณค่า คำถามที่เกี่ยวข้อง ใน C …
130 c# 

11
ไม่สามารถตั้งค่าส่วนหัว HTTP บางส่วนเมื่อใช้ System.Net.WebRequest
เมื่อฉันพยายามเพิ่มคู่คีย์ / ค่าส่วนหัว HTTP บนWebRequestวัตถุฉันได้รับข้อยกเว้นดังต่อไปนี้: ต้องแก้ไขส่วนหัวนี้โดยใช้คุณสมบัติที่เหมาะสม ฉันได้ลองเพิ่มค่าใหม่ให้กับHeadersคอลเล็กชันโดยใช้เมธอด Add () แต่ฉันยังคงได้รับข้อยกเว้นเหมือนเดิม webRequest.Headers.Add(HttpRequestHeader.Referer, "http://stackoverflow.com"); ฉันสามารถแก้ไขสิ่งนี้ได้โดยการแคสต์อ็อบเจ็กต์ WebRequest ไปยัง HttpWebRequest และตั้งค่าคุณสมบัติเช่นhttpWebReq.Referer ="http://stackoverflow.com"แต่ใช้ได้กับส่วนหัวไม่กี่ส่วนที่เปิดเผยผ่านคุณสมบัติ ฉันต้องการทราบว่ามีวิธีควบคุมการปรับเปลี่ยนส่วนหัวด้วยการร้องขอทรัพยากรระยะไกลได้หรือไม่
130 c#  header  webrequest 

16
การตรวจสอบค่า null แบบลึกมีวิธีที่ดีกว่านี้หรือไม่?
หมายเหตุ:คำถามนี้ถูกถามก่อนที่จะนำของผู้ประกอบการใน C # 6 / Visual Studio 2015.? เราทุกคนเคยไปที่นั่นเรามีคุณสมบัติที่ล้ำลึกเช่น cake.frosting.berries.loader ที่เราต้องตรวจสอบว่าเป็นโมฆะหรือไม่ดังนั้นจึงไม่มีข้อยกเว้น วิธีทำคือใช้คำสั่ง if ลัดวงจร if (cake != null && cake.frosting != null && cake.frosting.berries != null) ... นี่ไม่ได้สวยหรูสักเท่าไหร่และอาจมีวิธีที่ง่ายกว่าในการตรวจสอบห่วงโซ่ทั้งหมดและดูว่ามันเกิดขึ้นกับตัวแปร / คุณสมบัติว่างหรือไม่ เป็นไปได้ไหมโดยใช้วิธีการขยายบางอย่างหรืออาจเป็นคุณลักษณะของภาษาหรือเป็นความคิดที่ไม่ดี?
130 c#  null 

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