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

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

8
ฉันต้องปิด () การเชื่อมต่อ SQLC ก่อนที่จะถูกกำจัดหรือไม่?
สำหรับคำถามอื่น ๆ ของฉันที่นี่เกี่ยวกับ Disposable objectsเราควรเรียก Close () ก่อนสิ้นสุดบล็อกการใช้งานหรือไม่ using (SqlConnection connection = new SqlConnection()) using (SqlCommand command = new SqlCommand()) { command.CommandText = "INSERT INTO YourMom (Amount) VALUES (1)"; command.CommandType = System.Data.CommandType.Text; connection.Open(); command.ExecuteNonQuery(); // Is this call necessary? connection.Close(); }

6
ฉันจะสร้างคลาสที่ไม่เปลี่ยนรูปได้อย่างไร
ฉันกำลังสร้างคลาสที่ไม่เปลี่ยนรูป ฉันได้ทำเครื่องหมายคุณสมบัติทั้งหมดเป็นแบบอ่านอย่างเดียว ฉันมีรายการสิ่งของในชั้นเรียน แม้ว่าคุณสมบัติเป็นแบบอ่านอย่างเดียวรายการก็สามารถแก้ไขได้ การเปิดเผยรายการ IE ที่ไม่สามารถเปลี่ยนแปลงได้ทำให้ไม่เปลี่ยนรูป ฉันอยากรู้ว่ากฎพื้นฐานที่ต้องปฏิบัติตามเพื่อให้คลาสไม่เปลี่ยนรูปคืออะไร?
113 c#  .net  immutability 

8
วิธีโหลดแอสเซมบลีไปยัง AppDomain พร้อมการอ้างอิงทั้งหมดแบบวนซ้ำ
ฉันต้องการโหลดไปยังAppDomainแอสเซมบลีใหม่ซึ่งมีโครงสร้างอ้างอิงที่ซับซ้อน (MyDll.dll -> Microsoft.Office.Interop.Excel.dll -> Microsoft.Vbe.Interop.dll -> Office.dll -> stdole.dll) เท่าที่ฉันเข้าใจเมื่อกำลังโหลดแอสเซมบลีการAppDomainอ้างอิงจะไม่ถูกโหลดโดยอัตโนมัติและฉันต้องโหลดด้วยตนเอง ดังนั้นเมื่อฉันทำ: string dir = @"SomePath"; // different from AppDomain.CurrentDomain.BaseDirectory string path = System.IO.Path.Combine(dir, "MyDll.dll"); AppDomainSetup setup = AppDomain.CurrentDomain.SetupInformation; setup.ApplicationBase = dir; AppDomain domain = AppDomain.CreateDomain("SomeAppDomain", null, setup); domain.Load(AssemblyName.GetAssemblyName(path)); และได้รับFileNotFoundException: ไม่สามารถโหลดไฟล์หรือแอสเซมบลี 'MyDll, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = …

13
การส่งรายการวัตถุไปยังวิธีการควบคุม MVC โดยใช้ jQuery Ajax
ฉันกำลังพยายามส่งอาร์เรย์ของวัตถุไปยังวิธีการควบคุม MVC โดยใช้ฟังก์ชัน ajax () ของ jQuery เมื่อฉันเข้าสู่เมธอดคอนโทรลเลอร์ PassThing () C # อาร์กิวเมนต์ "things" จะเป็นโมฆะ ฉันได้ลองสิ่งนี้โดยใช้ประเภทรายการสำหรับอาร์กิวเมนต์ แต่ก็ไม่ได้ผลเช่นกัน ผมทำอะไรผิดหรือเปล่า? <script type="text/javascript"> $(document).ready(function () { var things = [ { id: 1, color: 'yellow' }, { id: 2, color: 'blue' }, { id: 3, color: 'red' } ]; $.ajax({ contentType: 'application/json; charset=utf-8', …
113 c#  asp.net-mvc  jquery 

22
c # datatable เป็น csv
ใครช่วยบอกฉันหน่อยได้ไหมว่าทำไมโค้ดต่อไปนี้ไม่ทำงาน ข้อมูลจะถูกบันทึกลงในไฟล์ csv อย่างไรก็ตามข้อมูลจะไม่แยกออกจากกัน ทั้งหมดนี้มีอยู่ในเซลล์แรกของแต่ละแถว StringBuilder sb = new StringBuilder(); foreach (DataColumn col in dt.Columns) { sb.Append(col.ColumnName + ','); } sb.Remove(sb.Length - 1, 1); sb.Append(Environment.NewLine); foreach (DataRow row in dt.Rows) { for (int i = 0; i < dt.Columns.Count; i++) { sb.Append(row[i].ToString() + ","); } sb.Append(Environment.NewLine); } File.WriteAllText("test.csv", sb.ToString()); ขอบคุณ
113 c#  csv  delimited-text 

3
ลบคอลัมน์จาก DataTable ใน C #
ฉันมีชุดข้อมูลซึ่งฉันได้รับ DataTable จากที่ฉันถูกส่งกลับจากการเรียกใช้ฟังก์ชัน มี 15-20 คอลัมน์ แต่ฉันต้องการข้อมูลเพียง 10 คอลัมน์ มีวิธีลบคอลัมน์เหล่านั้นที่ฉันไม่ต้องการคัดลอก DataTable ไปยังคอลัมน์อื่นที่มีเฉพาะคอลัมน์ที่กำหนดไว้ที่ฉันต้องการหรือดีกว่าถ้าทำซ้ำคอลเลกชันและใช้คอลัมน์ที่ฉันต้องการ ฉันต้องเขียนค่าลงในไฟล์ข้อมูลที่มีความยาวคงที่
113 c#  asp.net 

8
ค้นหาดัชนีของค่าในอาร์เรย์
linq สามารถใช้เพื่อค้นหาดัชนีของค่าในอาร์เรย์ได้หรือไม่? ตัวอย่างเช่นลูปนี้ค้นหาดัชนีคีย์ภายในอาร์เรย์ for (int i = 0; i < words.Length; i++) { if (words[i].IsKey) { keyIndex = i; } }
113 c#  arrays  linq 

5
ลำดับไม่มีองค์ประกอบที่ตรงกัน
ฉันมีแอปพลิเคชัน asp.net ซึ่งฉันใช้ linq สำหรับการจัดการข้อมูล ขณะทำงานฉันได้รับข้อยกเว้น "ลำดับไม่มีองค์ประกอบที่ตรงกัน" if (_lstAcl.Documents.Count > 0) { for (i = 0; i <= _lstAcl.Documents.Count - 1; i++) { string id = _lstAcl.Documents[i].ID.ToString(); var documentRow = _dsACL.Documents.First(o => o.ID == id); if (documentRow !=null) { _lstAcl.Documents[i].Read = documentRow.Read; _lstAcl.Documents[i].ReadRule = documentRow.ReadRule; _lstAcl.Documents[i].Create= documentRow.Create; _lstAcl.Documents[i].CreateRule = documentRow.CreateRule; …
113 c#  linq  exception 

20
คุณสมบัติ EditorFor () และ html
การสร้างตัวอย่าง Asp.Net MVC 2.0 ให้ตัวช่วยเช่น Html.EditorFor(c => c.propertyname) หากชื่อคุณสมบัติเป็นสตริงโค้ดด้านบนจะแสดงผลเป็น texbox จะเกิดอะไรขึ้นถ้าฉันต้องการส่งผ่านคุณสมบัติ MaxLength และ Size ไปยังกล่องข้อความหรือคุณสมบัติคลาส css ของฉันเอง ฉันต้องสร้างเทมเพลตหนึ่งรายการสำหรับการผสมขนาดและความยาวในแอปพลิเคชันของฉันหรือไม่ หากเป็นเช่นนั้นจะไม่ทำให้เทมเพลตเริ่มต้นใช้งานได้

8
แนบไฟล์จาก MemoryStream ไปยัง MailMessage ใน C #
ฉันกำลังเขียนโปรแกรมเพื่อแนบไฟล์กับอีเมล ขณะนี้ฉันกำลังบันทึกไฟล์โดยใช้FileStreamลงในดิสก์จากนั้นฉันใช้ไฟล์ System.Net.Mail.MailMessage.Attachments.Add( new System.Net.Mail.Attachment("file name")); Attachmentฉันไม่ต้องการที่จะเก็บไว้ในไฟล์ดิสก์ผมต้องการที่จะไฟล์เก็บไว้ในหน่วยความจำและหน่วยความจำจากกระแสผ่านนี้
113 c#  email  smtp  memorystream 

6
ตั้งค่าตำแหน่งเริ่มต้นของกล่องโต้ตอบเบราว์เซอร์โฟลเดอร์
มีวิธีใดในการตั้งค่าไดเร็กทอรีเริ่มต้นของไดอะล็อกเบราว์เซอร์โฟลเดอร์เป็นโฟลเดอร์ที่ไม่ใช่โฟลเดอร์พิเศษหรือไม่? นี่คือสิ่งที่ฉันกำลังใช้อยู่fdbLocation.RootFolder = Environment.SpecialFolder.Desktop; แต่ฉันต้องการใช้เส้นทางที่ฉันเก็บไว้ในสตริงอะไรทำนองนี้fdbLocation.RootFolder = myFolder;ซึ่งทำให้เกิดข้อผิดพลาด "ไม่สามารถแปลง" สตริง "เป็น" System.Environment.SpecialFolder ""
113 c# 

10
เทียบเท่า C # ของฟังก์ชัน IsNull () ใน SQL Server
ใน SQL Server คุณสามารถใช้IsNull()ฟังก์ชันเพื่อตรวจสอบว่าค่าเป็นโมฆะหรือไม่และหากเป็นเช่นนั้นให้ส่งคืนค่าอื่น ตอนนี้ฉันกำลังสงสัยว่ามีอะไรที่คล้ายกันใน C # หรือไม่ ตัวอย่างเช่นฉันต้องการทำสิ่งต่างๆเช่น: myNewValue = IsNull(myValue, new MyValue()); แทน: if (myValue == null) myValue = new MyValue(); myNewValue = myValue; ขอบคุณ
113 c#  .net  sql-server  isnull 

8
คำหลักใหม่ในลายเซ็นวิธี
ในขณะที่ทำการปรับโครงสร้างใหม่ฉันได้สร้างวิธีการดังตัวอย่างด้านล่าง ประเภทข้อมูลได้รับการเปลี่ยนแปลงเพื่อความเรียบง่าย ก่อนหน้านี้ฉันมีคำสั่งมอบหมายเช่นนี้: MyObject myVar = new MyObject(); มันถูกปรับโครงสร้างใหม่โดยบังเอิญ: private static new MyObject CreateSomething() { return new MyObject{"Something New"}; } นี่เป็นผลมาจากข้อผิดพลาดในการตัด / วางในส่วนของฉัน แต่newคำหลักในprivate static newถูกต้องและคอมไพล์ คำถาม : อะไรคือnewคำสำคัญมีความหมายอย่างไรในลายเซ็นของวิธีการ? ฉันคิดว่ามันเป็นสิ่งที่แนะนำใน C # 3.0? สิ่งนี้แตกต่างจากoverrideอย่างไร?
113 c#  methods  keyword 

17
ไม่สามารถโหลด DLL (ไม่พบโมดูล HRESULT: 0x8007007E)
ฉันมีไลบรารี dll ที่มีรหัส C ++ API ที่ไม่มีการจัดการฉันจำเป็นต้องใช้ในแอปพลิเคชัน. NET 4.0 ของฉัน แต่ทุกวิธีที่ฉันพยายามโหลด dll ของฉันฉันได้รับข้อผิดพลาด: ไม่สามารถโหลด DLL 'MyOwn.dll': ไม่พบโมดูลที่ระบุ (ข้อยกเว้นจาก HRESULT: 0x8007007E) ฉันได้อ่านและลองใช้โซลูชันของ Severa ที่พบบนอินเทอร์เน็ตแล้ว ไม่มีอะไรทำงาน .. ฉันได้ลองใช้วิธีการต่อไปนี้: [DllImport("MyOwn.dll", CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs((UnmanagedType.I4))] public static extern Int32 MyProIni(string DBname, string DBuser_pass, string WorkDirectory, ref StringBuilder ErrorMessage); เมื่อฉันลองทำตามบทความนี้และเมื่อฉันเรียกใช้ตัวอย่างนี้ (จากรหัสที่ดาวน์โหลดมา) มันทำงานโดยไม่มีปัญหา (dll ที่ใช้อยู่ในโฟลเดอร์ …
113 c#  c++  dll  pinvoke 

7
Java มีคำหลักอ้างอิงและออกของ C # หรือไม่?
สิ่งต่อไปนี้: ตัวอย่างอ้างอิง: void changeString(ref String str) { str = "def"; } void main() { String abc = "abc"; changeString(ref abc); System.out.println(abc); //prints "def" } ออกตัวอย่าง: void changeString(out String str) { str = "def"; } void main() { String abc; changeString(out abc); System.out.println(abc); //prints "def" }
113 c#  java 

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