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

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

7
แสดงหมายเลขบรรทัดในชุดติดตามสแต็กสำหรับ. NET ในโหมด Release
มีวิธีแสดงบรรทัดในการติดตามสแต็กสำหรับ. NET build / deployed ในโหมด Release หรือไม่? UPDATE: ใบสมัครของฉันแบ่งออกเป็นสามโครงการห้องสมุดระดับและหนึ่งโครงการ "เว็บไซต์" ASP.NET ข้อผิดพลาดที่ฉันพยายามติดตามคือหนึ่งในโครงการห้องสมุดสามชั้น ฉันปรับใช้ไฟล์ pdb สำหรับโครงการไลบรารีคลาสที่สร้างข้อผิดพลาด "การอ้างอิงวัตถุไม่ได้ตั้งค่าเป็นอินสแตนซ์ของวัตถุ" หมายเลขบรรทัดยังคงไม่ปรากฏในการติดตามสแต็ก ฉันจำเป็นต้องปรับใช้ไฟล์ pdb เพื่อให้โครงการทั้งหมดได้รับหมายเลขบรรทัดในการติดตามสแต็กหรือไม่ วิธีแก้ปัญหาการทำงาน การปรับใช้ไฟล์ pdb สำหรับแต่ละแอปพลิเคชันแก้ไขปัญหาหมายเลขบรรทัด

13
การคำนวณระยะทางระหว่างสองละติจูดและลองจิจูด GeoCoordinates
ฉันคำนวณระยะทางระหว่างสอง GeoCoordinates ฉันกำลังทดสอบแอปกับแอปอื่น ๆ อีก 3-4 แอป เมื่อฉันคำนวณระยะทางฉันมักจะได้รับค่าเฉลี่ย 3.3 ไมล์สำหรับการคำนวณของฉันในขณะที่แอปอื่น ๆ ได้รับ 3.5 ไมล์ มันแตกต่างกันมากสำหรับการคำนวณที่ฉันพยายามจะทำ มีห้องสมุดชั้นดีสำหรับการคำนวณระยะทางหรือไม่ ฉันกำลังคำนวณเช่นนี้ใน C #: public static double Calculate(double sLatitude,double sLongitude, double eLatitude, double eLongitude) { var radiansOverDegrees = (Math.PI / 180.0); var sLatitudeRadians = sLatitude * radiansOverDegrees; var sLongitudeRadians = sLongitude * radiansOverDegrees; var eLatitudeRadians …

7
คุณทำการเลียนแบบใน NET ได้อย่างไร?
มีวิธีที่ง่ายในการปลอมตัวเป็นผู้ใช้ใน. NET หรือไม่? จนถึงตอนนี้ฉันใช้คลาสนี้จากโครงการโค๊ดสำหรับความต้องการการแอบอ้างของฉันทั้งหมด มีวิธีที่ดีกว่าที่จะทำโดยใช้. NET Framework? ฉันมีชุดข้อมูลรับรองผู้ใช้ (ชื่อผู้ใช้รหัสผ่านชื่อโดเมน) ซึ่งแสดงถึงข้อมูลประจำตัวที่ฉันต้องใช้ในการแอบอ้างบุคคลอื่น
139 c#  .net  impersonation 

1
วิธีการรับ Thread.Sleep รอ?
ฉันกำลังเขียนแอปพลิเคชันที่เชื่อมโยงเครือข่ายโดยยึดตามกระบวนทัศน์ที่รอคอย / การนอนหลับ บางครั้งเกิดข้อผิดพลาดในการเชื่อมต่อและจากประสบการณ์ของฉันมันจ่ายเพื่อรอเวลาแล้วลองอีกครั้ง ปัญหาคือว่าถ้าฉันใช้ Thread.Sleep หรือการดำเนินการปิดกั้นที่คล้ายกันอื่นในการรอคอย / async จะบล็อกกิจกรรมทั้งหมดในเธรดผู้โทร สิ่งที่ฉันควรแทนที่ Thread.Sleep (10,000) ด้วยเพื่อให้ได้ผลเช่นเดียวกับ await Thread.SleepAsync(10000) ? UPDATE ฉันต้องการคำตอบที่ทำได้โดยไม่ต้องสร้างกระทู้เพิ่มเติม

8
เปลี่ยนเส้นทางจากแอตทริบิวต์ตัวกรองการกระทำ
เป็นวิธีที่ดีที่สุดในการเปลี่ยนเส้นทางในActionFilterAttributeอะไร ฉันได้รับการActionFilterAttributeเรียกIsAuthenticatedAttributeFilterและตรวจสอบค่าของตัวแปรเซสชัน หากตัวแปรเป็นเท็จฉันต้องการให้แอปพลิเคชันเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ ฉันต้องการเปลี่ยนเส้นทางโดยใช้ชื่อเส้นทางSystemLoginอย่างไรก็ตามวิธีการเปลี่ยนเส้นทางใด ๆ ณ จุดนี้จะใช้ได้

3
เหตุใด“ ทศนิยม” จึงไม่ใช่ประเภทพารามิเตอร์แอตทริบิวต์ที่ถูกต้อง
มันไม่น่าเชื่อจริงๆ แต่เป็นของจริง รหัสนี้จะไม่ทำงาน: [AttributeUsage(AttributeTargets.Property|AttributeTargets.Field)] public class Range : Attribute { public decimal Max { get; set; } public decimal Min { get; set; } } public class Item { [Range(Min=0m,Max=1000m)] //compile error:'Min' is not a valid named attribute argument because it is not a valid attribute parameter type public decimal …
139 c#  .net  attributes 

14
วิธีจัดการเหตุการณ์คลิกในคอลัมน์ปุ่มใน Datagridview
ฉันกำลังพัฒนาแอปพลิเคชัน windows โดยใช้ C # ฉันใช้DataGridViewเพื่อแสดงข้อมูล ฉันได้เพิ่มคอลัมน์ปุ่มในนั้น ฉันต้องการทราบว่าฉันจะจัดการเหตุการณ์คลิกบนปุ่มนั้นใน DataGridView ได้อย่างไร

5
การใช้คีย์เวิร์ด "stackalloc" ในทางปฏิบัติ
มีใครเคยใช้จริงstackallocขณะเขียนโปรแกรม C # บ้าง? ฉันรู้ว่าอะไรคืออะไร แต่ครั้งเดียวที่มันปรากฏในรหัสของฉันคือโดยบังเอิญเพราะ Intellisense แนะนำเมื่อฉันเริ่มพิมพ์staticเช่น แม้ว่ามันจะไม่เกี่ยวข้องกับสถานการณ์การใช้งานstackallocแต่จริงๆแล้วฉันก็ใช้การทำงานร่วมกันแบบดั้งเดิมจำนวนมากในแอพของฉันดังนั้นฉันจึงสามารถใช้unsafeรหัสได้ในทุกๆครั้ง แต่อย่างไรก็ตามฉันมักจะหาวิธีหลีกเลี่ยงunsafeอย่างสิ้นเชิง และเนื่องจากขนาดสแต็กสำหรับเธรดเดียวใน. Net คือ ~ 1Mb (แก้ไขฉันถ้าฉันผิด) ฉันจึงถูกสงวนไว้จากการใช้stackalloc. มีบางกรณีที่สามารถพูดได้ว่า: "นี่คือปริมาณข้อมูลและการประมวลผลที่เหมาะสมสำหรับฉันที่จะไม่ปลอดภัยและใช้งานstackalloc"?
139 c#  keyword  stackalloc 

5
การทดสอบว่าวัตถุเป็นประเภททั่วไปใน C # หรือไม่
ฉันต้องการทำการทดสอบว่าวัตถุเป็นประเภททั่วไปหรือไม่ ฉันได้ลองทำสิ่งต่อไปนี้แล้วไม่ประสบความสำเร็จ: public bool Test() { List<int> list = new List<int>(); return list.GetType() == typeof(List<>); } ฉันทำอะไรผิดและฉันจะทำการทดสอบนี้ได้อย่างไร?
139 c#  .net  generics  reflection  types 

9
คำขอใส่ API ของเว็บสร้างข้อผิดพลาด Http 405 Method Not Allowed
นี่คือการเรียกใช้PUTเมธอดบน Web API ของฉัน - บรรทัดที่สามในเมธอด (ฉันกำลังเรียก Web API จากส่วนหน้า ASP.NET MVC): client.BaseAddressคือhttp://localhost/CallCOPAPI/. นี่คือcontactUri: นี่คือcontactUri.PathAndQuery: และสุดท้ายนี่คือคำตอบ 405 ของฉัน: นี่คือ WebApi.config ในโครงการ Web API ของฉัน: public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Routes.MapHttpRoute( name: "DefaultApiGet", routeTemplate: "api/{controller}/{action}/{regionId}", defaults: new …

5
ทำไม Can CancelToken จึงแยกจาก Can CancelTokenSource
ฉันกำลังมองหาเหตุผลว่าทำไม. NET CancellationTokenstruct จึงถูกนำมาใช้นอกเหนือจากCancellationTokenSourceคลาส ฉันเข้าใจวิธีการใช้ API แต่ต้องการเข้าใจด้วยว่าเหตุใดจึงออกแบบมาเช่นนั้น กล่าวคือทำไมเราถึงมี: var cts = new CancellationTokenSource(); SomeCancellableOperation(cts.Token); ... public void SomeCancellableOperation(CancellationToken token) { ... token.ThrowIfCancellationRequested(); ... } แทนที่จะส่งผ่านโดยตรงCancellationTokenSourceเช่น: var cts = new CancellationTokenSource(); SomeCancellableOperation(cts); ... public void SomeCancellableOperation(CancellationTokenSource cts) { ... cts.ThrowIfCancellationRequested(); ... } นี่เป็นการเพิ่มประสิทธิภาพตามข้อเท็จจริงที่ว่าการตรวจสอบสถานะการยกเลิกเกิดขึ้นบ่อยกว่าการส่งโทเค็นรอบ ๆ หรือไม่ เพื่อให้CancellationTokenSourceสามารถติดตามและอัปเดตCancellationTokensและสำหรับแต่ละโทเค็นการตรวจสอบการยกเลิกคือการเข้าถึงฟิลด์ภายในหรือไม่? เนื่องจากบูลที่ระเหยได้โดยไม่มีการล็อคก็เพียงพอแล้วในทั้งสองกรณีฉันยังไม่เห็นว่าทำไมถึงเร็วขึ้น ขอบคุณ!

16
วิธีปิดคอมพิวเตอร์จาก C #
วิธีที่ดีที่สุดในการปิดคอมพิวเตอร์จากโปรแกรม C # คืออะไร ฉันพบวิธีการบางอย่างที่ใช้งานได้แล้ว - ฉันจะโพสต์ไว้ด้านล่าง - แต่ไม่มีวิธีใดที่สวยงามมาก ฉันกำลังมองหาบางสิ่งที่ง่ายขึ้นและเป็น. net
138 c#  .net  windows  shutdown 


7
จะรอให้วิธีการ async เสร็จสมบูรณ์ได้อย่างไร
ฉันกำลังเขียนแอปพลิเคชัน WinForms ที่ถ่ายโอนข้อมูลไปยังอุปกรณ์ USB HID class ใบสมัครของฉันใช้ที่ดีเยี่ยม v6.0 ห้องสมุดทั่วไป HID ซึ่งสามารถพบได้ที่นี่ โดยสรุปเมื่อฉันต้องการเขียนข้อมูลไปยังอุปกรณ์นี่คือรหัสที่ถูกเรียก: private async void RequestToSendOutputReport(List<byte[]> byteArrays) { foreach (byte[] b in byteArrays) { while (condition) { // we'll typically execute this code many times until the condition is no longer met Task t = SendOutputReportViaInterruptTransfer(); await t; } // …

6
เรียกกระบวนงานที่เก็บไว้พร้อมพารามิเตอร์ใน c #
ฉันสามารถลบแทรกและอัปเดตในโปรแกรมของฉันและฉันพยายามแทรกโดยเรียกขั้นตอนการจัดเก็บที่สร้างขึ้นจากฐานข้อมูลของฉัน นี่คือปุ่มแทรกฉันทำให้ทำงานได้ดี private void btnAdd_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(dc.Con); SqlCommand cmd = new SqlCommand("Command String", con); da.InsertCommand = new SqlCommand("INSERT INTO tblContacts VALUES (@FirstName, @LastName)", con); da.InsertCommand.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = txtFirstName.Text; da.InsertCommand.Parameters.Add("@LastName", SqlDbType.VarChar).Value = txtLastName.Text; con.Open(); da.InsertCommand.ExecuteNonQuery(); con.Close(); dt.Clear(); da.Fill(dt); } นี่คือจุดเริ่มต้นของปุ่มเพื่อเรียกขั้นตอนการตั้งชื่อsp_Add_contactเพื่อเพิ่มผู้ติดต่อ sp_Add_contact(@FirstName,@LastName)ทั้งสองพารามิเตอร์สำหรับการ ฉันค้นหาด้วย google สำหรับตัวอย่างที่ดี …

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