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

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

3
คุณสามารถอธิบาย Liskov Substitution Principle ด้วยตัวอย่าง C # ที่ดีได้หรือไม่? [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการเมื่อปีที่แล้ว ปรับปรุงคำถามนี้ คุณสามารถอธิบาย Liskov Substitution Principle (The 'L' of SOLID) ด้วยตัวอย่าง C # ที่ดีซึ่งครอบคลุมทุกแง่มุมของหลักการในรูปแบบที่เรียบง่ายได้หรือไม่? ถ้าเป็นไปได้จริงๆ.

9
ผู้พัฒนาเฉพาะไฟล์ app.config / web.config ใน Visual Studio
เรามีโครงการ. NET หลายโครงการที่เก็บการตั้งค่าบางอย่างไว้ในไฟล์การกำหนดค่า ตอนนี้นักพัฒนาแต่ละรายจะมีไฟล์คอนฟิกูเรชันของตัวเองที่แตกต่างกันเล็กน้อย (สตริงการเชื่อมต่อที่แตกต่างกันเพื่อเชื่อมต่อกับฐานข้อมูลในเครื่องแตกต่างกัน จุดสิ้นสุดWCF ที่ฯลฯ ) ในขณะนี้เรามักจะตรวจสอบไฟล์ app / web.config และแก้ไขให้เหมาะสมกับความต้องการของเรา นำไปสู่การนี้ไปสู่ปัญหามากมายตั้งแต่เวลาผ่านไปคนที่จะตรวจสอบในการตั้งค่าของตัวเองหรือการกำหนดค่าที่กำหนดเองหลวมเมื่อได้รับรุ่นล่าสุดจากTFS คุณรับมือกับสถานการณ์เช่นนี้อย่างไร? หรือคุณไม่มีปัญหานี้เลย?

8
หลักการตั้งชื่อ C # สำหรับ enum และคุณสมบัติที่ตรงกัน
ฉันมักจะพบว่าตัวเองกำลังใช้คลาสที่คงคุณสมบัติสถานะของตัวเองไว้เป็น enum: ฉันมีสถานะ enum และคุณสมบัติสถานะ ONE ของประเภทสถานะ ฉันจะแก้ปัญหาความขัดแย้งของชื่อนี้ได้อย่างไร? public class Car { public enum Status { Off, Starting, Moving }; Status status = Status.Off; public Status Status // <===== Won't compile ===== { get { return status; } set { status = value; DoSomething(); } } } ถ้าสถานะ enum เป็นประเภทต่างๆฉันจะวางไว้นอกชั้นเรียนและปัญหาจะได้รับการแก้ไข …

7
ทางเลือก NCrunch ฟรี [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ เนื่องจาก NCrunch ได้ออกจากตลาดเสรีฉันจึงมองหาเครื่องมือที่คล้ายกันสำหรับการทำเครื่องหมายความครอบคลุมของรหัสและการทดสอบอย่างต่อเนื่องเช่น NCrunch แก้ไข: ฉันใช้ VS2012 ปรับปรุง: ฉันใช้ ContinuousTest มาระยะหนึ่งแล้วก็ใช้ได้ แต่ฉันคิดว่ามันไม่มีข้อเสนอแนะเมื่อฉันเขียนโค้ด ข้อเสนอแนะนั้นดีเมื่อฉันเขียนการทดสอบ แต่เมื่อฉันทำลายการทดสอบ (ขณะแก้ไขซอร์สโค้ด) มันจะไม่บอกฉันว่าการทดสอบนั้นพัง (ในระยะขอบเช่นเดียวกับ NCrunch) ดังนั้นถ้าใครรู้เครื่องมืออื่น ๆ ฉันก็ยังฟังอยู่

8
ประโยชน์ของการใช้ C # vs F # หรือ F # vs C # คืออะไร? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อค คำถามนี้และคำตอบถูกล็อกเนื่องจากคำถามไม่ตรงประเด็น แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ยังไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันทำงานให้กับ บริษัท เทคโนโลยีที่ทำต้นแบบมากกว่าการจัดส่งผลิตภัณฑ์ ฉันเพิ่งถูกถามว่าอะไรคือความแตกต่างระหว่าง C # และ F # ทำไม MS จึงสร้าง F # และสถานการณ์ใดที่จะดีกว่า C # ฉันใช้ภาษานี้มาระยะหนึ่งแล้วและฉันชอบมันมากดังนั้นฉันจึงสามารถพูดคุยเกี่ยวกับคุณสมบัติที่ยอดเยี่ยมของ F # ได้อย่างง่ายดาย แต่ฉันขาดประสบการณ์ใน C # เพื่อบอกว่าทำไมเราควรใช้ภาษาอื่น ประโยชน์ของการใช้ C # vs F # หรือ F # vs C # คืออะไร?
93 c#  .net  f# 

4
เปลี่ยน web.config โดยใช้โปรแกรม C # (.NET)
ฉันจะแก้ไข / จัดการweb.configโปรแกรมด้วย C # ได้อย่างไร? ฉันสามารถใช้ออบเจ็กต์คอนฟิกูเรชันได้หรือไม่และถ้าใช่ฉันจะโหลดweb.configลงในอ็อบเจ็กต์คอนฟิกูเรชันได้อย่างไร ฉันต้องการตัวอย่างเต็มรูปแบบการเปลี่ยนสตริงการเชื่อมต่อ หลังจากแก้ไขแล้วweb.configควรเขียนกลับไปที่ฮาร์ดดิสก์
93 c#  web-config 

5
Visual Studio ระหว่างการดีบัก: การประเมินฟังก์ชันต้องการเธรดทั้งหมดเพื่อรัน
จู่ๆฉันก็ได้รับข้อผิดพลาดแปลก ๆ ขณะทำการดีบัก ถึงตอนนี้ตัวแปรในหน้าต่างนาฬิกาแสดงอย่างถูกต้อง ตอนนี้ฉันมักจะได้รับข้อความแสดงข้อผิดพลาดในหน้าต่างนาฬิกา: การประเมินฟังก์ชันต้องการเธรดทั้งหมดเพื่อรัน ฉันไม่สามารถตรวจสอบตัวแปรใด ๆ ได้อีกต่อไป ฉันไม่ได้ทำงานกับเธรดอย่างชัดเจน ฉันจะทำอย่างไรเพื่อให้มันใช้งานได้อีกครั้ง ฉันปิดการใช้งานแล้วดังที่กล่าวไว้ในบางฟอรัมฟังก์ชัน: "เปิดใช้งานการประเมินคุณสมบัติและการเรียกฟังก์ชันโดยนัยอื่น ๆ " ในหน้าต่างตัวเลือกของดีบักเกอร์ แต่ไม่ประสบความสำเร็จฉันได้รับข้อผิดพลาด: ข้อผิดพลาดโดยนัยการประเมินฟังก์ชันถูกปิดใช้งานโดยผู้ใช้

5
C # แปลง Base64 -> ไบต์ []
ฉันมี Base64 byte[]อาร์เรย์ที่ถ่ายโอนจากสตรีมซึ่งฉันต้องแปลงเป็นแบบปกติbyte[]จะทำอย่างไร?
93 c#  base64 

5
ฉันควรกังวลเกี่ยวกับ "วิธีการ async นี้ไม่มีตัวดำเนินการ" รอ "และจะเรียกใช้คำเตือนพร้อมกัน"
ฉันมีอินเทอร์เฟซที่เปิดเผยวิธีการ async บางอย่าง โดยเฉพาะอย่างยิ่งมันมีวิธีการที่กำหนดไว้ซึ่งส่งคืน Task หรือ Task <T> ฉันใช้คำหลัก async / await ฉันอยู่ระหว่างการใช้งานอินเทอร์เฟซนี้ อย่างไรก็ตามในวิธีการเหล่านี้บางส่วนการนำไปใช้งานนี้ไม่มีอะไรต้องรอ ด้วยเหตุนี้ฉันจึงได้รับคำเตือนของคอมไพเลอร์ "วิธีการ async นี้ไม่มีตัวดำเนินการ 'รอ' และจะทำงานพร้อมกัน ... " ฉันเข้าใจว่าทำไมฉันถึงได้รับข้อผิดพลาด แต่ฉันสงสัยว่าฉันควรทำอะไรกับพวกเขาในบริบทนี้หรือไม่ รู้สึกผิดที่ละเลยคำเตือนของคอมไพเลอร์ ฉันรู้ว่าฉันสามารถแก้ไขได้โดยรองานเรียกใช้ แต่รู้สึกว่าผิดสำหรับวิธีการที่ใช้งานได้ไม่แพงเพียงไม่กี่อย่าง ดูเหมือนว่ามันจะเพิ่มค่าใช้จ่ายที่ไม่จำเป็นในการดำเนินการ แต่ฉันก็ไม่แน่ใจว่ามีอยู่แล้วหรือไม่เพราะมีคีย์เวิร์ด async อยู่ ฉันควรเพิกเฉยต่อคำเตือนหรือมีวิธีการแก้ไขที่ฉันไม่เห็นหรือไม่?

8
วิธีจัดเก็บอาร์เรย์ int [] ในการตั้งค่าแอปพลิเคชัน
ฉันกำลังสร้างแอปพลิเคชัน Windows Forms แบบธรรมดาโดยใช้ C # express 2008 ฉันเป็นนักพัฒนา C ++ ที่มีประสบการณ์ แต่ฉันค่อนข้างใหม่สำหรับ C # และ. NET ขณะนี้ฉันกำลังจัดเก็บการตั้งค่าแอปพลิเคชันง่ายๆของฉันโดยใช้ตัวออกแบบการตั้งค่าและรหัสดังนี้: // Store setting Properties.Settings.Default.TargetLocation = txtLocation.Text; ... // Restore setting txtLocation.Text = Properties.Settings.Default.TargetLocation; ตอนนี้ฉันต้องการเก็บอาร์เรย์ของ ints ( int[]) หรืออาจจะเป็น List of ints ( List< int >) เป็นค่าติดตั้ง อย่างไรก็ตามฉันคิดไม่ออกว่าจะทำอย่างไร ฉันได้ค้นหาเอกสาร, stackoverflow และ google แล้วและฉันไม่พบคำอธิบายที่เหมาะสมเกี่ยวกับวิธีการทำเช่นนี้ …
93 c#  winforms  arrays  settings 

2
การแก้ไขสตริงในมุมมองมีดโกน?
สิ่งนี้รองรับหรือไม่ ถ้าเป็นเช่นนั้นมีเคล็ดลับในการเปิดใช้งานหรือไม่? ฉันสมมติว่า Razor ไม่ได้ใช้คอมไพเลอร์ใหม่เพียงพอ ... ? VS2015 IDE ดูเหมือนจะใช้ได้ แต่ในขณะรันไทม์ฉันได้รับ CS1056: อักขระที่ไม่คาดคิด '$'
93 c#  asp.net-mvc  razor  c#-6.0 

6
ฟังก์ชั่น C # Store ในพจนานุกรม
ฉันจะสร้างพจนานุกรมที่เก็บฟังก์ชันได้อย่างไร? ขอบคุณ. ฉันมีฟังก์ชันมากกว่า 30 รายการซึ่งสามารถเรียกใช้งานได้จากผู้ใช้ ฉันต้องการเรียกใช้ฟังก์ชันนี้ด้วยวิธีนี้: private void functionName(arg1, arg2, arg3) { // code } dictionaryName.add("doSomething", functionName); private void interceptCommand(string command) { foreach ( var cmd in dictionaryName ) { if ( cmd.Key.Equals(command) ) { cmd.Value.Invoke(); } } } อย่างไรก็ตามลายเซ็นของฟังก์ชันจะไม่เหมือนกันเสมอไปดังนั้นจึงมีจำนวนอาร์กิวเมนต์ที่แตกต่างกัน

14
ดาวน์โหลดไฟล์ Excel ผ่าน AJAX MVC
ฉันมีรูปแบบ (ish) ขนาดใหญ่ใน MVC ฉันต้องสามารถสร้างไฟล์ excel ที่มีข้อมูลจากชุดย่อยของแบบฟอร์มนั้นได้ สิ่งที่ยุ่งยากคือสิ่งนี้ไม่ควรส่งผลกระทบต่อส่วนที่เหลือของฟอร์มดังนั้นฉันจึงต้องการทำผ่าน AJAX ฉันเจอคำถามสองสามข้อเกี่ยวกับ SO ที่ดูเหมือนจะเกี่ยวข้อง แต่ฉันไม่สามารถสรุปได้ว่าคำตอบหมายถึงอะไร อันนี้ดูเหมือนจะใกล้เคียงที่สุดกับสิ่งที่ฉันต้องการ: asp-net-mvc-download-excel - แต่ฉันไม่แน่ใจว่าฉันเข้าใจคำตอบและตอนนี้มันอายุได้สองสามปีแล้ว ฉันเจอบทความอื่น (หาไม่ได้อีกแล้ว) เกี่ยวกับการใช้ iframe เพื่อจัดการกับการดาวน์โหลดไฟล์ แต่ฉันไม่แน่ใจว่าจะทำงานกับ MVC ได้อย่างไร ไฟล์ excel ของฉันจะคืนค่าได้ดีถ้าฉันกำลังโพสต์แบบเต็ม แต่ฉันไม่สามารถใช้งานกับ AJAX ใน mvc ได้

6
ค้นหาไฟล์ที่มีนามสกุลบางอย่างในโฟลเดอร์
ระบุเส้นทางโฟลเดอร์ (เช่นC:\Random Folder) ฉันจะค้นหาไฟล์ในนั้นที่มีนามสกุลที่แน่นอนได้txtอย่างไร ฉันคิดว่าฉันจะต้องค้นหา*.txtในไดเรกทอรี แต่ฉันไม่แน่ใจว่าฉันควรจะเริ่มการค้นหานี้อย่างไรตั้งแต่แรก
93 c#  filepath 

14
'System.OutOfMemoryException' ถูกโยนทิ้งไปเมื่อยังมีหน่วยความจำเหลืออยู่มากมาย
นี่คือรหัสของฉัน: int size = 100000000; double sizeInMegabytes = (size * 8.0) / 1024.0 / 1024.0; //762 mb double[] randomNumbers = new double[size]; ข้อยกเว้น: ข้อยกเว้นประเภท 'System.OutOfMemoryException' ถูกโยนทิ้ง ฉันมีหน่วยความจำ 4GB ในเครื่องนี้ 2.5GB ฟรีเมื่อฉันเริ่มการทำงานนี้มีพื้นที่ว่างเพียงพอบนพีซีอย่างชัดเจนที่จะจัดการกับตัวเลขสุ่ม 762mb ของ 100000000 ฉันต้องการจัดเก็บตัวเลขสุ่มให้ได้มากที่สุดเท่าที่จะเป็นไปได้ที่มีหน่วยความจำ เมื่อฉันไปผลิตจะมี 12GB บนกล่องและฉันต้องการใช้ประโยชน์จากมัน CLR บังคับให้ฉันใช้หน่วยความจำสูงสุดเริ่มต้นหรือไม่ และฉันจะขอเพิ่มได้อย่างไร? อัปเดต ฉันคิดว่าการแบ่งสิ่งนี้ออกเป็นชิ้นเล็ก ๆ และการเพิ่มความต้องการหน่วยความจำของฉันทีละน้อยจะช่วยได้หากปัญหาเกิดจากการแยกส่วนหน่วยความจำแต่ฉันไม่สามารถผ่านขนาด ArrayList ทั้งหมดที่มีขนาด 256mb ไม่ว่าฉันจะปรับแต่ง blockSizeก็ตาม …

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