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

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

10
#if RELEASE จะทำงานเหมือน #if DEBUG ใน C # หรือไม่
ในตัวอย่างทั้งหมดที่ฉันเห็นเกี่ยวกับคำสั่งคอมไพเลอร์ # หากใช้คำสั่ง "DEBUG" ฉันสามารถใช้ "RELEASE" ในวิธีเดียวกันกับการแยกรหัสที่ฉันไม่ต้องการให้ทำงานเมื่อคอมไพล์ในโหมดดีบั๊กหรือไม่? รหัสที่ฉันต้องการล้อมรอบด้วยบล็อกนี้จะส่งอีเมลจำนวนมากและฉันไม่ต้องการส่งออกโดยไม่ตั้งใจเมื่อทำการทดสอบ
277 c#  .net  debugging 

17
ฉันจะสร้างไฟล์ชั่วคราวที่มีนามสกุลเฉพาะกับ. NET ได้อย่างไร
ฉันต้องการสร้างไฟล์ชั่วคราวที่ไม่ซ้ำกับนามสกุล. csv สิ่งที่ฉันทำตอนนี้คือ string filename = System.IO.Path.GetTempFileName().Replace(".tmp", ".csv"); อย่างไรก็ตามสิ่งนี้ไม่รับประกันว่าไฟล์. csv ของฉันจะไม่ซ้ำกัน ฉันรู้ว่าโอกาสที่ฉันจะได้รับการชนนั้นต่ำมาก (โดยเฉพาะถ้าคุณพิจารณาว่าฉันไม่ลบไฟล์. tmp) แต่รหัสนี้ดูไม่ดีสำหรับฉัน แน่นอนว่าฉันสามารถสร้างชื่อไฟล์แบบสุ่มด้วยตนเองได้จนกว่าฉันจะพบชื่อที่ไม่ซ้ำกัน (ซึ่งไม่น่าจะมีปัญหา) แต่ฉันอยากรู้ว่าคนอื่น ๆ พบวิธีที่ดีในการจัดการกับปัญหานี้หรือไม่
277 c#  .net  temporary-files 


14
ฟังก์ชั่นแบบอินไลน์ใน C #?
คุณจะทำอย่างไร "ฟังก์ชั่นแบบอินไลน์" ใน C #? ฉันไม่คิดว่าฉันเข้าใจแนวคิดนี้ พวกเขาชอบวิธีที่ไม่ระบุชื่อหรือไม่? เช่นเดียวกับฟังก์ชั่นแลมบ์ดา? หมายเหตุ : คำตอบเกือบทั้งหมดเกี่ยวข้องกับความสามารถในการทำงานของอินไลน์เช่น "การปรับให้เหมาะสมด้วยตนเองหรือคอมไพเลอร์ที่แทนที่ไซต์การเรียกใช้ฟังก์ชันด้วยเนื้อความของผู้เรียก" หากคุณสนใจฟังก์ชั่นนิรนาม (aka lambda)โปรดดูคำตอบของ @ jalfหรือทุกคนที่ 'แลมบ์ดา' พูดถึงอะไร? .
276 c#  optimization  inline 

10
.NET HashTable Vs Dictionary - พจนานุกรมสามารถเร็วได้หรือไม่
ฉันพยายามที่จะคิดออกว่าเมื่อไหร่และทำไมต้องใช้พจนานุกรมหรือ HashTable ฉันได้ทำการค้นหาเล็กน้อยที่นี่และพบว่ามีคนพูดถึงข้อดีทั่วไปของพจนานุกรมที่ฉันเห็นด้วยอย่างสมบูรณ์ซึ่งนำไปสู่ความได้เปรียบในการชกมวยและการแกะกล่องเพื่อเพิ่มประสิทธิภาพเล็กน้อย แต่ฉันได้อ่านพจนานุกรมจะไม่กลับวัตถุตามลำดับที่พวกเขาจะแทรกสิ่งที่เรียงลำดับ HashTable จะอยู่ที่ไหน ในขณะที่ฉันเข้าใจว่าสิ่งนี้นำไปสู่ ​​HashTable ที่เร็วขึ้นสำหรับบางสถานการณ์ คำถามของฉันเป็นจริงสถานการณ์เหล่านั้นอาจเป็นอย่างไร ฉันแค่คิดผิดไปจากข้อสันนิษฐานข้างต้นหรือไม่? คุณอาจใช้สถานการณ์ใดในการเลือกสถานการณ์หนึ่งเหนือสถานการณ์อื่น (ใช่สถานการณ์สุดท้ายค่อนข้างคลุมเครือ)

2
รูปแบบพื้นที่เก็บข้อมูลทีละขั้นตอนคำอธิบาย [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ใครช่วยอธิบายแบบแผนพื้นที่เก็บข้อมูลใน NET ให้ฉันทีละขั้นตอนเป็นตัวอย่างหรือตัวอย่างที่ง่ายมาก ฉันรู้ว่านี่เป็นคำถามที่พบบ่อยมาก แต่จนถึงตอนนี้ฉันยังไม่พบคำตอบที่น่าพอใจ

30
รับ "ประเภทหรือชื่อเนมสเปซไม่พบ" แต่ทุกอย่างดูโอเคไหม
ฉันได้รับ: ไม่พบชื่อประเภทหรือเนมสเปซ ข้อผิดพลาดสำหรับแอป C # WPF ใน VS2010 โค้ดนี้มีการรวบรวมที่ดี แต่ทันใดนั้นฉันก็พบข้อผิดพลาดนี้ ฉันได้ลองลบการอ้างอิงโครงการและusingคำสั่งปิด VS2010 แล้วเริ่มต้นใหม่ แต่ก็ยังมีปัญหานี้อยู่ ความคิดใด ๆ ที่ทำให้เกิดเหตุการณ์เช่นนี้ซึ่งดูเหมือนว่าฉันกำลังทำสิ่งที่ถูกต้องอ้างอิง & usingคำสั่ง? ฉันยังสังเกตเห็นใน VS2010 ว่า Intellisense สำหรับเนมสเปซนั้นทำงานได้ดีดังนั้นดูเหมือนว่า VS2010 จะมีการอ้างอิงโครงการและเห็นเนมสเปซในมือเดียว แต่ในระหว่างการคอมไพล์ไม่เห็นหรือไม่

8
ตรงข้ามของ Intersect ()
สามารถใช้ Intersect เพื่อค้นหารายการที่ตรงกันระหว่างสองคอลเล็กชันดังนี้: // Assign two arrays. int[] array1 = { 1, 2, 3 }; int[] array2 = { 2, 3, 4 }; // Call Intersect extension method. var intersect = array1.Intersect(array2); // Write intersection to screen. foreach (int value in intersect) { Console.WriteLine(value); // Output: 2, 3 } อย่างไรก็ตามสิ่งที่ฉันต้องการบรรลุคือสิ่งที่ตรงกันข้ามฉันต้องการแสดงรายการจากคอลเล็กชันหนึ่งที่หายไปจากรายการอื่น …

2
อะไรคือความแตกต่างระหว่าง“ x is null” และ“ x == null”?
ใน C # 7 เราสามารถใช้ if (x is null) return; แทน if (x == null) return; มีข้อได้เปรียบอะไรบ้างในการใช้วิธีการใหม่ (ตัวอย่างก่อนหน้า) ในแบบเก่า? ความหมายต่างกันหรือไม่? เป็นเรื่องของรสนิยมหรือไม่? ถ้าไม่ฉันควรใช้อันใดอันหนึ่งกับอีกอันหนึ่ง? อ้างอิง: มีอะไรใหม่ใน C # 7.0

12
เรียงลำดับรายการโดยใช้ Lambda / Linq กับวัตถุ
ฉันมีชื่อของ "เรียงลำดับตามคุณสมบัติ" ในสตริง ฉันจะต้องใช้ Lambda / Linq เพื่อเรียงลำดับรายการของวัตถุ Ex: public class Employee { public string FirstName {set; get;} public string LastName {set; get;} public DateTime DOB {set; get;} } public void Sort(ref List<Employee> list, string sortBy, string sortDirection) { //Example data: //sortBy = "FirstName" //sortDirection = "ASC" or "DESC" if …

5
C # 6.0 ทำงานกับ. NET 4.0 ได้หรือไม่
ฉันสร้างโครงการตัวอย่างโดยมีสารพัด C # 6.0 - การเผยแพร่ว่างและการเริ่มต้นคุณสมบัติเป็นตัวอย่างให้ตั้งค่าเวอร์ชันเป้าหมาย. NET 4.0 และใช้งานได้ ... public class Cat { public int TailLength { get; set; } = 4; public Cat Friend { get; set; } public string Mew() { return "Mew!"; } } class Program { static void Main(string[] args) { var cat = new …
275 c#  .net  c#-6.0 

17
เหตุใดฉันจึงได้รับ“ 'ไม่สามารถกำหนดคุณสมบัติ” เมื่อส่งอีเมล SMTP
ฉันไม่เข้าใจว่าทำไมรหัสนี้ใช้งานไม่ได้ ฉันได้รับข้อผิดพลาดว่าทรัพย์สินไม่สามารถกำหนดได้ MailMessage mail = new MailMessage(); SmtpClient client = new SmtpClient(); client.Port = 25; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Host = "smtp.gmail.com"; mail.To = "user@hotmail.com"; // <-- this one mail.From = "you@yourcompany.com"; mail.Subject = "this is a test email."; mail.Body = "this is my test email body"; client.Send(mail);
274 c#  email  smtpclient 

30
ข้อดีและข้อเสียของการรักษา SQL ไว้ใน Procs ที่จัดเก็บกับรหัส [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน6 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ อะไรคือข้อดี / ข้อเสียของการเก็บ SQL ไว้ในซอร์สโค้ด C # ของคุณหรือในโพรบ Procs ฉันได้คุยเรื่องนี้กับเพื่อนในโครงการโอเพนซอร์สที่เรากำลังดำเนินการอยู่ (ฟอรัม C # ASP.NET) ในขณะนี้การเข้าถึงฐานข้อมูลส่วนใหญ่ทำได้โดยการสร้าง SQL แบบอินไลน์ใน C # และเรียกไปยัง SQL Server DB ดังนั้นฉันจึงพยายามกำหนดว่าโครงการไหนดีที่สุดสำหรับโครงการนี้ จนถึงตอนนี้ฉันมี: ข้อดีสำหรับในรหัส: บำรุงรักษาง่ายขึ้น - ไม่จำเป็นต้องเรียกใช้สคริปต์ SQL เพื่ออัปเดตคิวรี ง่ายต่อการย้ายไปยังฐานข้อมูลอื่น - ไม่มีโปรแกรมไปยังพอร์ต ข้อดีสำหรับ Procs ที่เก็บไว้: ประสิทธิภาพ ความปลอดภัย

11
ลอง / บล็อกจับเจ็บประสิทธิภาพเมื่อยกเว้นจะไม่โยน?
ในระหว่างการตรวจสอบรหัสกับพนักงานของ Microsoft เราพบเจอโค้ดส่วนใหญ่ภายในtry{}บล็อก เธอและตัวแทนด้านไอทีแนะนำว่าสิ่งนี้อาจมีผลต่อประสิทธิภาพของรหัส ในความเป็นจริงพวกเขาแนะนำว่ารหัสส่วนใหญ่ควรอยู่นอกบล็อคลอง / จับและควรตรวจสอบเฉพาะส่วนที่สำคัญเท่านั้น พนักงานไมโครซอฟท์ได้เพิ่มและกล่าวว่าเอกสารทางเทคนิคที่จะเกิดขึ้นเตือนว่าบล็อก try / catch ไม่ถูกต้อง ฉันได้ดูไปรอบ ๆ และพบว่าสามารถส่งผลกระทบต่อการปรับแต่งได้ แต่ดูเหมือนว่าจะใช้เฉพาะเมื่อมีการแชร์ตัวแปรระหว่างขอบเขต ฉันไม่ได้ถามเกี่ยวกับความสามารถในการบำรุงรักษาของรหัสหรือแม้กระทั่งการจัดการข้อยกเว้นที่ถูกต้อง (รหัสที่เป็นปัญหาต้องได้รับการพิจารณาใหม่ ฉันยังไม่ได้หมายถึงการใช้ข้อยกเว้นสำหรับการควบคุมการไหลนี่เป็นความผิดที่ชัดเจนในกรณีส่วนใหญ่ สิ่งเหล่านี้เป็นปัญหาที่สำคัญ (บางอย่างมีความสำคัญมากกว่า) แต่ไม่เน้นที่นี่ บล็อก try / catch มีผลกับประสิทธิภาพอย่างไรเมื่อข้อยกเว้นไม่ถูกส่งออก?

7
CS0120: จำเป็นต้องมีการอ้างอิงวัตถุสำหรับฟิลด์เมธอดหรือคุณสมบัติ 'foo'
พิจารณา: namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //int[] val = { 0, 0}; int val; if (textBox1.Text == "") { MessageBox.Show("Input any no"); } else { val = Convert.ToInt32(textBox1.Text); Thread ot1 = new Thread(new …
274 c# 

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