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

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

4
ไม่สามารถแปลง type void เป็น object โดยปริยายได้ .NET MVC PartialViewResult
ฉันมีการดำเนินการของคอนโทรลเลอร์ดังต่อไปนี้: [ChildActionOnly] public virtual PartialViewResult ListActions(int id) { var actions = meetingActionRepository.GetAllMeetingActions(id); return PartialView(actions); } และลิงก์การดำเนินการต่อไปนี้ (โดยใช้ t4MVC และไวยากรณ์ของมีดโกน) <p> @Html.RenderAction(MVC.MeetingActions.ListActions(Model.MeetingId)) </p> อย่างไรก็ตามสิ่งนี้ทำให้ฉันมีข้อผิดพลาด: ไม่สามารถแปลง type void เป็น object โดยปริยายได้ เท่าที่ฉันสามารถบอกได้ว่าการทำงานของคอนโทรลเลอร์นั้นโอเคแล้วอะไรจะทำให้ฉันมีข้อผิดพลาดนี้

7
การส่งผ่านฟังก์ชันการโทรกลับไปยังคลาสอื่น
โดยพื้นฐานแล้วฉันพยายามส่งเมธอดไปยังคลาสอื่นเพื่อเรียกใช้ในภายหลัง แต่ไม่สามารถเข้าใจสิ่งนี้ได้ใน C # (ฉันยังคุ้นเคยกับ Objective-C มากเกินไป) public class Class1{ private void btn_click(object sender, EventArgs e) { ServerRequest sr = new ServerRequest(); sr.DoRequest("myrequest", myCallback); } public void myCallback(string str) { } } จากนั้นในภายหลังฉันต้องการให้คลาส ServerRequest ของฉันเริ่มการทำงานของฟังก์ชันเรียกกลับโดยทั่วไปเป็นไปไม่ได้หรือไม่ (โดยทั่วไปฉันจะโทรกลับบ้านไปยังเซิร์ฟเวอร์เพื่อตอบสนองการเข้าสู่ระบบซอฟต์แวร์ของฉัน) ฉันไม่พบวิธีดำเนินการกับผู้รับมอบสิทธิ์ได้รับข้อผิดพลาดอย่างต่อเนื่อง นี่คือคลาสอื่น ๆ : public class ServerRequest { public void DoRequest(string request, Delegate callback) …
92 c# 

11
ตรวจสอบว่าวัตถุเป็นตัวเลขใน C # หรือไม่
ฉันต้องการที่จะตรวจสอบว่าวัตถุเป็นจำนวนเพื่อที่.ToString()จะส่งผลให้สตริงที่มีตัวเลขและ+, -,. เป็นไปได้ไหมโดยพิมพ์เช็คอิน. net (like:) if (p is Number)? หรือฉันควรแปลงเป็นสตริงแล้วลองแยกวิเคราะห์เป็นสองเท่า? อัปเดต:เพื่อชี้แจงว่าวัตถุของฉันคือ int, uint, float, double และอื่น ๆ ไม่ใช่สตริง ฉันกำลังพยายามสร้างฟังก์ชันที่จะทำให้วัตถุใด ๆ เป็นอนุกรมเป็น xml ดังนี้: <string>content</string> หรือ <numeric>123.3</numeric> หรือเพิ่มข้อยกเว้น

6
วิธีดำเนินการเข้าร่วมระหว่างหลายตารางใน LINQ lambda
ฉันพยายามทำการเข้าร่วมระหว่างหลาย ๆ ตารางใน LINQ ฉันมีชั้นเรียนต่อไปนี้: Product {Id, ProdName, ProdQty} Category {Id, CatName} ProductCategory{ProdId, CatId} //association table และฉันจะใช้รหัสต่อไปนี้ (ที่product, categoryและproductcategoryกรณีของการเรียนข้างต้น): var query = product.Join(productcategory, p => p.Id, pc => pc.ProdID, (p, pc) => new {product = p, productcategory = pc}) .Join(category, ppc => ppc.productcategory.CatId, c => c.Id, (ppc, c) => new …

30
ข้อผิดพลาดในการสร้าง:“ กระบวนการไม่สามารถเข้าถึงไฟล์ได้เนื่องจากกำลังถูกใช้โดยกระบวนการอื่น”
ฉันมีwebformsแอปC # ซึ่งจนถึงวันนี้ก็ใช้งานได้แค่ว่ายน้ำ วันนี้ทันใดนั้นทุกครั้งที่ฉันลองเรียกใช้แอปฉันได้รับข้อผิดพลาดในการล็อกไฟล์: ไม่สามารถคัดลอกไฟล์ "obj \ Debug \ MyProject.exe" ไปยัง "bin \ Debug \ MyProject.exe" กระบวนการไม่สามารถเข้าถึงไฟล์ "bin \ Debug \ MyProject.exe" ได้เนื่องจากถูกใช้โดยกระบวนการอื่น Googling ข้อผิดพลาดไม่ได้เกิดขึ้นนอกเหนือจากที่ชัดเจนกล่าวคือ VS คิดว่าไฟล์ถูกล็อก และแน่นอนว่าเป็นVisual Studio ที่ล็อคไฟล์เพราะเมื่อฉันปิด VS และเปิดขึ้นมาใหม่โปรเจ็กต์จะทำงานได้ดีในครั้งแรก เมื่อฉันพยายามเรียกใช้ครั้งที่สองฉันได้รับข้อผิดพลาดในการล็อกไฟล์ การปิด VS และเปิดใหม่ทุกครั้งที่ฉันต้องการเรียกใช้แอปไม่ใช่วิธีแก้ปัญหาที่ทำได้! ฉันจะทราบได้อย่างไรว่ามีอะไรล็อกไฟล์และหยุดไม่ให้ถูกล็อก แก้ไข: การค้นพบที่น่าสนใจอีกอย่าง: ฉันไม่ต้องเรียกใช้แอปด้วยซ้ำ การคอมไพล์ครั้งเดียวทำให้เกิดการล็อกไฟล์ ฉันไม่สามารถรวบรวมสองครั้งติดต่อกัน! ปัญหานี้เฉพาะสำหรับโครงการหนึ่งในโซลูชันของฉัน โครงการอื่น ๆ ทั้งหมดทำงานได้ดีและสามารถดำเนินการได้หลายครั้งเท่าที่ฉันต้องการ เป็นเพียงโครงการเดียวที่ทำให้ตัวเองถูกขัง

3
วิธีการจำลอง ModelState.IsValid โดยใช้ Moq framework?
ฉันกำลังตรวจสอบ ModelState.IsValidวิธีการดำเนินการของคอนโทรลเลอร์ที่สร้างพนักงานแบบนี้: [HttpPost] public virtual ActionResult Create(EmployeeForm employeeForm) { if (this.ModelState.IsValid) { IEmployee employee = this._uiFactoryInstance.Map(employeeForm); employee.Save(); } // Etc. } ฉันต้องการจำลองในวิธีการทดสอบหน่วยของฉันโดยใช้ Moq Framework ฉันพยายามล้อเลียนแบบนี้: var modelState = new Mock<ModelStateDictionary>(); modelState.Setup(m => m.IsValid).Returns(true); แต่สิ่งนี้ทำให้เกิดข้อยกเว้นในกรณีทดสอบหน่วยของฉัน ใครสามารถช่วยฉันที่นี่?

10
จะรับอาร์เรย์ของค่า enum ทั้งหมดใน C # ได้อย่างไร?
ฉันมี enum ที่ฉันต้องการแสดงค่าที่เป็นไปได้ทั้งหมดของ มีวิธีรับอาร์เรย์หรือรายการค่าที่เป็นไปได้ทั้งหมดของ enum แทนที่จะสร้างรายการด้วยตนเองหรือไม่? เช่นถ้าฉันมี enum: public enum Enumnum { TypeA, TypeB, TypeC, TypeD } ฉันจะได้รับList<Enumnum>ที่ประกอบด้วยได้{ TypeA, TypeB, TypeC, TypeD }อย่างไร
92 c#  enums 

11
การเปลี่ยนไอคอนเริ่มต้นในแอปพลิเคชัน Windows Forms
ฉันต้องการเปลี่ยนไอคอนในแอปพลิเคชันที่ฉันกำลังทำงานอยู่ แต่แค่เรียกดูไอคอนอื่น ๆ จากแท็บคุณสมบัติโครงการ -> แอปพลิเคชัน -> ไอคอนก็ไม่ได้รับไอคอนที่เก็บไว้บนเดสก์ท็อป .. วิธีทำที่ถูกต้องคืออะไร?

17
ค้นหาจำนวนตำแหน่งทศนิยมในค่าทศนิยมโดยไม่คำนึงถึงวัฒนธรรม
ฉันสงสัยว่ามีวิธีที่กระชับและถูกต้องในการดึงจำนวนตำแหน่งทศนิยมในค่าทศนิยม (เป็น int) ที่จะใช้กับข้อมูลวัฒนธรรมต่างๆได้อย่างปลอดภัยหรือไม่? ตัวอย่างเช่น 19.0 ควรส่งคืน 1, 27.5999 ควรส่งคืน 4, 19.12 ควรส่งคืน 2 เป็นต้น ฉันเขียนข้อความค้นหาที่แบ่งสตริงในช่วงหนึ่งเพื่อค้นหาตำแหน่งทศนิยม: int priceDecimalPlaces = price.ToString().Split('.').Count() > 1 ? price.ToString().Split('.').ToList().ElementAt(1).Length : 0; แต่สำหรับฉันแล้วสิ่งนี้จะใช้ได้เฉพาะในภูมิภาคที่ใช้เครื่องหมาย "." เป็นตัวคั่นทศนิยมดังนั้นจึงเปราะมากในระบบต่างๆ

9
แสดงนาฬิกาทรายเมื่อแอปพลิเคชันไม่ว่าง
สำหรับมุมมองที่สร้างโดยใช้ WPF ฉันต้องการเปลี่ยนเคอร์เซอร์ของเมาส์เป็นนาฬิกาทรายเมื่อแอปพลิเคชันไม่ว่างและไม่ตอบสนอง ทางออกหนึ่งคือการเพิ่ม this.Cursor = Cursors.Wait; ไปยังสถานที่ทั้งหมดที่อาจทำให้ UI ไม่ตอบสนอง แต่เห็นได้ชัดว่านี่ไม่ใช่ทางออกที่ดีที่สุด ฉันสงสัยว่าอะไรคือวิธีที่ดีที่สุดในการบรรลุเป้าหมายนี้ เป็นไปได้หรือไม่ที่จะบรรลุสิ่งนี้โดยใช้สไตล์หรือทรัพยากร? ขอบคุณ
92 c#  wpf 

3
พารามิเตอร์ทางเลือกใน Web Api Attribute Routing
ฉันต้องการจัดการ POST ของ API-Call ต่อไปนี้: /v1/location/deviceid/appid พารามิเตอร์เพิ่มเติมมาจาก Post-Body ทั้งหมดนี้ใช้ได้ดีสำหรับฉัน ตอนนี้ฉันต้องการขยายโค้ดของฉันโดยอนุญาตให้ "deviceid" และ / หรือ "appid" และ / หรือ BodyData เป็นโมฆะ: /v1/location/deviceid /v1/location/appid /v1/location/ URL ทั้ง 3 นี้ควรตอบสนองด้วยเส้นทางเดียวกัน แนวทางแรกของฉัน (จำเป็นต้องใช้ BodyData): [Route("v1/location/{deviceid}/{appid}", Name = "AddNewLocation")] public location_fromuser Post(string deviceid = null, string appid = null, [FromBody] location_fromuser BodyData) { return repository.AddNewLocation(deviceid, …

4
วิธีการแปลงเส้นทางสัมพัทธ์เป็นเส้นทางสัมบูรณ์ในแอปพลิเคชัน Windows
ฉันจะแปลงเส้นทางสัมพัทธ์เป็นเส้นทางสัมบูรณ์ในแอปพลิเคชัน Windows ได้อย่างไร ฉันรู้ว่าเราสามารถใช้ server.MapPath () ใน ASP.NET แต่เราสามารถทำอะไรได้บ้างในแอปพลิเคชัน Windows? ฉันหมายถึงถ้ามีฟังก์ชัน. NET ในตัวที่สามารถจัดการสิ่งนั้นได้ ...
92 c# 


17
จะตรวจจับการเปลี่ยนแปลงเหตุการณ์ DataGridView CheckBox ได้อย่างไร?
ฉันมีแอป winforms และต้องการเรียกใช้โค้ดบางอย่างเมื่อมีDataGridViewการเลือก / ไม่เลือกช่องทำเครื่องหมายที่ฝังอยู่ในการควบคุม ทุกเหตุการณ์ฉันพยายามอย่างใดอย่างหนึ่ง ทริกเกอร์ทันทีที่CheckBoxคลิก แต่ก่อนที่สถานะการตรวจสอบจะเปลี่ยนไปหรือ ทริกเกอร์เพียงครั้งเดียวที่CheckBoxสูญเสียโฟกัส ฉันไม่พบเหตุการณ์ที่ทริกเกอร์ทันทีหลังจากที่สถานะการตรวจสอบเปลี่ยนไป แก้ไข: สิ่งที่ฉันพยายามจะบรรลุคือเมื่อสถานะการตรวจสอบของการเปลี่ยนแปลงCheckBoxในหนึ่งเดียวDataGridViewข้อมูลในอีกสองรายการDataGridViewจะเปลี่ยนไป เหตุการณ์ทั้งหมดที่ฉันใช้ข้อมูลในกริดอื่น ๆ จะเปลี่ยนไปหลังจากที่CheckBoxในครั้งแรกDataGridViewสูญเสียโฟกัสเท่านั้น

4
ข้อยกเว้นเมื่อพารามิเตอร์ AddWithValue เป็น NULL
ฉันมีรหัสต่อไปนี้สำหรับระบุพารามิเตอร์สำหรับแบบสอบถาม SQL ฉันได้รับข้อยกเว้นดังต่อไปนี้เมื่อฉันใช้Code 1; Code 2แต่ทำงานได้ดีเมื่อฉันใช้ ในCode 2เรามีการตรวจสอบค่าว่างและด้วยเหตุนี้if..elseบล็อก ข้อยกเว้น: แบบสอบถามที่กำหนดพารามิเตอร์ '(@application_ex_id nvarchar (4000)) SELECT E.application_ex_id A' คาดว่าพารามิเตอร์ '@application_ex_id' ซึ่งไม่ได้ให้มา รหัส 1 : command.Parameters.AddWithValue("@application_ex_id", logSearch.LogID); รหัส 2 : if (logSearch.LogID != null) { command.Parameters.AddWithValue("@application_ex_id", logSearch.LogID); } else { command.Parameters.AddWithValue("@application_ex_id", DBNull.Value ); } คำถาม คุณช่วยอธิบายได้ไหมว่าทำไมจึงไม่สามารถใช้ค่า NULL จากค่า logSearch.LogID ใน Code 1 (แต่สามารถรับ …
92 c#  .net  ado.net 

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