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

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


4
"เทมเพลตสามารถใช้ได้เฉพาะกับการเข้าถึงฟิลด์การเข้าถึงคุณสมบัติดัชนีอาร์เรย์มิติเดียวหรือนิพจน์ตัวทำดัชนีที่กำหนดเองพารามิเตอร์เดียว"
เหตุใดฉันจึงได้รับข้อผิดพลาด: เทมเพลตสามารถใช้ได้เฉพาะกับการเข้าถึงฟิลด์การเข้าถึงคุณสมบัติดัชนีอาร์เรย์มิติเดียวหรือนิพจน์ตัวทำดัชนีที่กำหนดเองแบบพารามิเตอร์เดียว ที่รหัสนี้: @model IEnumerable<ArtSchoolProject.Models.Trainer> @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_PageLayout.cshtml"; } <h2>Index</h2> <p> @Html.ActionLink("Create New", "Create") </p> <ul class="trainers"> @foreach (var item in Model) { <li> <div> <div class="left"> <a href="@Url.Action("Details", "Details", new { id = item.ID })"> <img src="~/Images/Trainer/@item.Picture" /> </a> </div> <div class="right"> @Html.ActionLink(item.Name,"Details",new {id=item.ID}) <br …

20
มีเหตุผลที่ดีที่จะไม่ใช้ ORM หรือไม่? [ปิด]
ตามที่กล่าวไว้ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ระหว่างฝึกงานฉันได้ใช้NHibernateกับโปรเจ็กต์ขนาดเล็กบางโปรเจ็กต์ซึ่งส่วนใหญ่ฉันเขียนโค้ดและออกแบบด้วยตัวเอง ตอนนี้ก่อนที่จะเริ่มโปรเจ็กต์ที่ใหญ่กว่านี้มีการอภิปรายกันว่าจะออกแบบการเข้าถึงข้อมูลอย่างไรและจะใช้เลเยอร์ ORM หรือไม่ ในขณะที่ฉันยังอยู่ในการฝึกงานและยังคงคิดว่าตัวเองเป็นมือใหม่ในการเขียนโปรแกรมระดับองค์กรฉันจึงไม่ได้พยายามผลักดันในความคิดของฉันซึ่งก็คือการใช้ตัวทำแผนที่เชิงสัมพันธ์กับฐานข้อมูลสามารถทำให้การพัฒนาง่ายขึ้นได้มาก นักเขียนโค้ดคนอื่น ๆ ในทีมพัฒนามีประสบการณ์มากกว่าฉันมากดังนั้นฉันคิดว่าฉันจะทำตามที่พวกเขาพูด :-) อย่างไรก็ตามฉันไม่เข้าใจเหตุผลหลักสองประการที่ไม่ใช้ NHibernate หรือโครงการที่คล้ายกัน: เราสามารถสร้างอ็อบเจ็กต์การเข้าถึงข้อมูลของตัวเองด้วยคิวรี SQL และคัดลอกแบบสอบถามเหล่านั้นออกจาก Microsoft SQL Server Management Studio การดีบัก ORM อาจเป็นเรื่องยาก ดังนั้นแน่นอนว่าฉันสามารถสร้างชั้นการเข้าถึงข้อมูลของฉันด้วยจำนวนมากSELECTฯลฯ แต่ที่นี่ฉันพลาดข้อได้เปรียบของการรวมอัตโนมัติคลาสพร็อกซีที่โหลดขี้เกียจและความพยายามในการบำรุงรักษาที่ต่ำกว่าหากตารางได้รับคอลัมน์ใหม่หรือคอลัมน์ได้รับ เปลี่ยนชื่อ (การอัปเดตจำนวนมากSELECT, INSERTและUPDATEคำสั่งกับการอัปเดตการตั้งค่าการทำแผนที่และอาจ refactoring เรียนธุรกิจและ DTOs.) นอกจากนี้การใช้ NHibernate คุณสามารถประสบปัญหาที่คาดไม่ถึงหากคุณไม่รู้จักกรอบงานเป็นอย่างดี ตัวอย่างเช่นเชื่อมั่น Table.hbm.xml ที่คุณตั้งค่าความยาวของสตริงให้ตรวจสอบโดยอัตโนมัติ อย่างไรก็ตามฉันยังสามารถจินตนาการถึงจุดบกพร่องที่คล้ายกันในชั้นการเข้าถึงข้อมูลแบบ "ง่ายๆ" SqlConnection ในที่สุดข้อโต้แย้งเหล่านั้นที่กล่าวถึงข้างต้นเป็นเหตุผลที่ดีที่จะไม่ใช้ ORM …
107 c#  nhibernate  orm  enterprise 

4
การระงับคำเตือน "ไม่เคยใช้" และ "ไม่เคยถูกกำหนดให้" ใน C #
ฉันมีไฟล์ HTTPSystemDefinitions.cs ในโครงการ C # ซึ่งโดยพื้นฐานแล้วจะอธิบายถึง ISAPI ของ windows รุ่นเก่าสำหรับการใช้งานโดยใช้รหัสที่มีการจัดการ ซึ่งรวมถึงชุดโครงสร้างทั้งหมดที่เกี่ยวข้องกับ ISAPI ซึ่งไม่ใช่ทั้งหมดหรือถูกใช้โดยรหัส ในการคอมไพล์สมาชิกฟิลด์ทั้งหมดของโครงสร้างเหล่านี้ทำให้เกิดคำเตือนดังต่อไปนี้: - ฟิลด์คำเตือน 'UnionSquare.ISAPI.HTTP_FILTER_PREPROC_HEADERS.SetHeader' จะไม่ถูกกำหนดให้และจะมีค่าเริ่มต้นเป็นค่าว่างเสมอ หรือ คำเตือนไม่ใช้ฟิลด์ 'UnionSquare.ISAPI.HTTP_FILTER_PREPROC_HEADERS.HttpStatus' สิ่งเหล่านี้สามารถปิดการใช้งานได้#pragma warning disableหรือไม่? ถ้าเป็นเช่นนั้นตัวเลขข้อผิดพลาดที่เกี่ยวข้องจะเป็นอย่างไร ถ้าไม่มีฉันสามารถทำอะไรได้อีก? โปรดทราบว่าฉันจะทำสิ่งนี้สำหรับไฟล์นี้เท่านั้นสิ่งสำคัญคือฉันจะได้รับคำเตือนเช่นนี้มาจากไฟล์อื่น ๆ แก้ไข ตัวอย่างโครงสร้าง: - struct HTTP_FILTER_PREPROC_HEADERS { // // For SF_NOTIFY_PREPROC_HEADERS, retrieves the specified header value. // Header names should include the trailing …

10
ความแตกต่างระหว่างเหตุการณ์และผู้ได้รับมอบหมายและการใช้งานตามลำดับ [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันไม่เห็นข้อดีของการใช้เหตุการณ์กับผู้ร่วมประชุมนอกเหนือจากการใช้น้ำตาลสังเคราะห์ บางทีฉันอาจจะเข้าใจผิด แต่ดูเหมือนว่าเหตุการณ์นั้นจะเป็นเพียงตัวยึดสำหรับผู้รับมอบสิทธิ์เท่านั้น คุณช่วยอธิบายให้ฉันทราบถึงความแตกต่างและเมื่อใดควรใช้ มีข้อดีข้อเสียอย่างไร? โค้ดของเราฝังรากลึกมาจากเหตุการณ์ต่างๆและฉันต้องการไปที่ด้านล่างของมัน คุณจะใช้ผู้รับมอบสิทธิ์ในกิจกรรมและในทางกลับกันเมื่อใด โปรดระบุประสบการณ์ในโลกแห่งความเป็นจริงของคุณกับทั้งคู่โดยระบุในรหัสการผลิต
107 c#  events  delegates 

5
การพัฒนา C # บน Linux
ฉันต้องการทราบว่ามีเครื่องมือโอเพนซอร์สที่มีประสิทธิภาพสำหรับพัฒนาแอปพลิเคชัน C # บน Linux (Ubuntu) หรือไม่ โดยเฉพาะอย่างยิ่งฉันต้องพัฒนาแอปพลิเคชัน Windows Forms ฉันรู้เกี่ยวกับโครงการMonoแต่ไม่เคยใช้ เครื่องมือใดที่ดีที่สุด (IDE คอมไพเลอร์ ฯลฯ ) ในการตั้งค่าสภาพแวดล้อมการพัฒนา. NET บน Ubuntu ซอฟต์แวร์ที่พัฒนาบน Linux สามารถรันบน Windows ได้หรือไม่ มีพฤติกรรมที่แตกต่างกันหรือเข้ากันไม่ได้?
107 c#  .net  linux  winforms  ide 


4
เหตุใดฟังก์ชันทั้งหมดจึงไม่ควรเป็น async ตามค่าเริ่มต้น
async-รอคอยรูปแบบของสุทธิ 4.5 มีการเปลี่ยนแปลงกระบวนทัศน์ เกือบจะดีเกินไปที่จะเป็นจริง ฉันได้ย้ายรหัส IO-heavy ไปยัง async-await เพราะการบล็อกเป็นเรื่องในอดีต มีคนไม่กี่คนที่เปรียบเทียบ async-await กับ zombie infestation และฉันพบว่ามันค่อนข้างแม่นยำ รหัส Async ชอบรหัส async อื่น ๆ (คุณต้องมีฟังก์ชัน async เพื่อรอฟังก์ชัน async) ฟังก์ชันที่มากขึ้นเรื่อย ๆ จึงกลายเป็น async และสิ่งนี้จะเติบโตขึ้นเรื่อย ๆ ใน codebase ของคุณ การเปลี่ยนฟังก์ชั่นเป็น async ค่อนข้างซ้ำซากและไม่น่าแปลกใจ โยนasyncคีย์เวิร์ดในการประกาศตัดค่าส่งคืนTask<>และคุณก็ทำได้สำเร็จ มันค่อนข้างจะไม่มั่นคงว่ากระบวนการทั้งหมดนั้นง่ายเพียงใดและในไม่ช้าสคริปต์การแทนที่ข้อความจะทำให้ "การย้าย" ส่วนใหญ่เป็นไปโดยอัตโนมัติ และตอนนี้คำถาม .. ถ้าโค้ดทั้งหมดของฉันค่อยๆเปลี่ยน async ทำไมไม่ทำให้ async ทั้งหมดเป็นค่าเริ่มต้นล่ะ เหตุผลที่ชัดเจนที่ฉันคิดคือประสิทธิภาพ Async-await …

2
C # / Linq: ใช้ฟังก์ชันการแมปกับแต่ละองค์ประกอบใน IEnumerable?
ฉันกำลังมองหาวิธีเปลี่ยนองค์ประกอบแต่ละส่วนของ IE ที่ไม่สามารถคำนวณได้ให้เป็นอย่างอื่นโดยใช้ฟังก์ชันการทำแผนที่ (ในวิธีที่เข้ากันได้กับ Linq) แต่ฉันไม่พบอะไรเลย สำหรับตัวอย่าง (ง่ายมาก) มันควรจะทำได้เช่น IEnumerable<int> integers = new List<int>() { 1, 2, 3, 4, 5 }; IEnumerable<string> strings = integers.Transform(i => i.ToString()); แต่ฉันไม่พบอะไรเลย ฉันหมายความว่ามันค่อนข้างตรงไปตรงมาที่จะเขียนวิธีการขยายที่ทำได้สำเร็จ (โดยพื้นฐานแล้วสิ่งที่ต้องมีก็คือการรวมตัวระบุแหล่งที่มาลงในคลาสใหม่จากนั้นเขียนโค้ดสำเร็จรูปเล็กน้อยเพื่อมอบหมายการโทร) แต่ฉันคาดหวังไว้ นี่เป็นการดำเนินการขั้นต้นพอสมควรและการเขียนมันเองให้ความรู้สึกเหมือนสร้างวงล้อขึ้นมาใหม่ - ฉันไม่สามารถเขย่าความรู้สึกว่าอาจมีวิธีในตัวที่ฉันควรใช้และฉันก็ตาบอดเกินไปที่จะมองเห็น มัน. มีอะไรใน Linq ที่อนุญาตให้ฉันทำตามที่อธิบายไว้ข้างต้นหรือไม่?
107 c#  linq 

20
วิธีการส่งออก DataTable ไปยัง Excel
ฉันจะส่งออกDataTableไปยัง Excel ใน C # ได้อย่างไร ฉันใช้ Windows Forms DataTableมีความเกี่ยวข้องกับDataGridViewการควบคุม ฉันต้องส่งออกบันทึกDataTableไปยัง Excel
107 c#  .net  datatable 

9
อักขระจุด '.' ใน MVC Web API 2 สำหรับคำขอเช่น api / people / STAFF.45287
URL ที่ฉันพยายามให้ทำงานเป็นหนึ่งในรูปแบบของ: http://somedomain.com/api/people/staff.33311 (เช่นเดียวกับไซต์เช่น LAST.FM อนุญาตให้มีสัญญาณทุกประเภทใน URL RESTFul & WebPage ตัวอย่างเช่น " http://www.last.fm/artist/psy'aviah " เป็น URL ที่ถูกต้องสำหรับ LAST.FM) สถานการณ์ต่อไปนี้ทำงานอะไร: - http://somedomain.com/api/people/ - ซึ่งส่งคืนทุกคน - http://somedomain.com/api/people/staff33311 - จะใช้ได้เช่นกัน แต่ไม่ใช่สิ่งที่ฉัน ' หลังจากนั้นฉันต้องการให้ URL ยอมรับ "จุด" ดังตัวอย่างด้านล่าง - http://somedomain.com/api/people/staff.33311 - แต่สิ่งนี้ทำให้ฉันมี HTTP Error 404.0 - Not Found The resource you are looking for …

10
สตริงอยู่ในอาร์เรย์หรือไม่
วิธีใดเป็นวิธีที่ดีที่สุดในการstring[]ดูว่ามีองค์ประกอบหรือไม่ นี่เป็นการถ่ายทำครั้งแรกของฉัน แต่บางทีอาจมีบางอย่างที่ฉันมองข้ามไป ขนาดอาร์เรย์จะมีขนาดไม่เกิน 200 องค์ประกอบ bool isStringInArray(string[] strArray, string key) { for (int i = 0; i <= strArray.Length - 1; i++) if (strArray[i] == key) return true; return false; }
107 c#  arrays  string 

3
ลากและวางไฟล์ลงใน WPF
ฉันต้องการวางไฟล์รูปภาพลงในแอปพลิเคชัน WPF ของฉัน ขณะนี้ฉันมีเหตุการณ์ที่เกิดขึ้นเมื่อฉันวางไฟล์ลง แต่ฉันไม่รู้ว่าจะทำอย่างไรต่อไป ฉันจะรับภาพได้อย่างไร เป็นsenderวัตถุภาพหรือควบคุมได้หรือไม่ private void ImagePanel_Drop(object sender, DragEventArgs e) { //what next, dont know how to get the image object, can I get the file path here? }
107 c#  .net  wpf  image  drag-and-drop 

12
ส่งภาพแบบอินไลน์ในอีเมล
มีปัญหาในการส่งรูปภาพทางอีเมลเป็นรูปภาพที่ฝังอยู่ในเนื้อหา ไฟล์ภาพแสดงเป็นไฟล์แนบซึ่งใช้ได้ แต่ส่วนของภาพในบรรทัดจะแสดงเป็น x สีแดง นี่คือสิ่งที่ฉันมีจนถึงตอนนี้ LinkedResource inline = new LinkedResource(filePath); inline.ContentId = Guid.NewGuid().ToString(); MailMessage mail = new MailMessage(); Attachment att = new Attachment(filePath); att.ContentDisposition.Inline = true; mail.From = from_email; mail.To.Add(data.email); mail.Subject = "Client: " + data.client_id + " Has Sent You A Screenshot"; mail.Body = String.Format( "<h3>Client: " + …
107 c#  image  email  smtp  inline 

6
ลำดับขององค์ประกอบในพจนานุกรม
คำถามของฉันเกี่ยวกับการแจกแจงองค์ประกอบของพจนานุกรม // Dictionary definition private Dictionary<string, string> _Dictionary = new Dictionary<string, string>(); // add values using add _Dictionary.Add("orange", "1"); _Dictionary.Add("apple", "4"); _Dictionary.Add("cucumber", "6"); // add values using [] _Dictionary["banana"] = 7; _Dictionary["pineapple"] = 7; // Now lets see how elements are returned by IEnumerator foreach (KeyValuePair<string, string> kvp in _Dictionary) …

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