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

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

2
การห่อรหัสซิงโครนัสเป็นการโทรแบบอะซิงโครนัส
ฉันมีวิธีการในแอปพลิเคชัน ASP.NET ซึ่งใช้เวลาค่อนข้างมากในการดำเนินการ การเรียกใช้เมธอดนี้อาจเกิดขึ้นได้สูงสุด 3 ครั้งระหว่างคำขอของผู้ใช้หนึ่งครั้งขึ้นอยู่กับสถานะแคชและพารามิเตอร์ที่ผู้ใช้ระบุ การโทรแต่ละครั้งจะใช้เวลาประมาณ 1-2 วินาทีจึงจะเสร็จสมบูรณ์ วิธีนี้เป็นการโทรแบบซิงโครนัสไปยังบริการและไม่มีความเป็นไปได้ที่จะลบล้างการใช้งาน ดังนั้นการโทรแบบซิงโครนัสไปยังบริการจึงมีลักษณะดังนี้: public OutputModel Calculate(InputModel input) { // do some stuff return Service.LongRunningCall(input); } และการใช้วิธีการคือ (โปรดทราบว่าการเรียกใช้เมธอดนั้นอาจเกิดขึ้นมากกว่าหนึ่งครั้ง): private void MakeRequest() { // a lot of other stuff: preparing requests, sending/processing other requests, etc. var myOutput = Calculate(myInput); // stuff again } ฉันพยายามเปลี่ยนการใช้งานจากด้านข้างของฉันเพื่อให้สามารถใช้งานวิธีนี้ได้พร้อมกันและนี่คือสิ่งที่ฉันทำจนถึงตอนนี้ …

7
ตรวจหาค่าว่างใน foreach loop
มีวิธีที่ดีกว่าในการดำเนินการต่อไปนี้หรือไม่: ฉันต้องการตรวจสอบค่าว่างเพื่อให้เกิดขึ้นในไฟล์ส่วนหัวก่อนดำเนินการต่อกับลูป if (file.Headers != null) { foreach (var h in file.Headers) { //set lots of properties & some other stuff } } ในระยะสั้นมันดูน่าเกลียดเล็กน้อยที่จะเขียน foreach ภายใน if เนื่องจากระดับการเยื้องที่เกิดขึ้นในโค้ดของฉัน เป็นสิ่งที่น่าจะประเมินได้ foreach(var h in (file.Headers != null)) { //do stuff } เป็นไปได้?
97 c#  loops  foreach  null 

7
เธรดได้ออกจากรหัส 0 (0x0) โดยไม่มีข้อยกเว้นที่ไม่สามารถจัดการได้
ในขณะที่ดีบักแอปพลิเคชัน C # ของฉันฉันสังเกตเห็นประโยคต่อไปนี้เกิดขึ้นจำนวนมาก: เธรด - ออกด้วยรหัส 0 (0x0) แอปพลิเคชันยังคงทำงานต่อไปและไม่มีข้อยกเว้นใดที่ถูกจับ / ไม่ได้ใช้งาน แอปพลิเคชันกำลังทำงานบน Windows 7 64 บิตและแก้ไขข้อบกพร่องด้วยแพลตฟอร์ม x86
97 c#  .net  debugging 

3
ตรวจสอบว่ารายการ <t> มีรายการอื่นหรือไม่
ฉันมีรายการพารามิเตอร์ดังนี้: public class parameter { public string name {get; set;} public string paramtype {get; set;} public string source {get; set;} } IEnumerable&lt;Parameter&gt; parameters; และอาร์เรย์ของสตริงที่ฉันต้องการตรวจสอบ string[] myStrings = new string[] { "one", "two"}; ฉันต้องการวนซ้ำรายการพารามิเตอร์และตรวจสอบว่าคุณสมบัติต้นทางเท่ากับอาร์เรย์ myStrings หรือไม่ ฉันสามารถทำได้ด้วย foreach ที่ซ้อนกัน แต่ฉันต้องการเรียนรู้วิธีการทำในวิธีที่ดีกว่าเนื่องจากฉันเล่นกับ linq และชอบวิธีการขยายในการแจกแจงเช่นที่อื่น ๆ ดังนั้น foreach ที่ซ้อนกันจึงรู้สึกผิด มีวิธี linq / lambda / …
97 c#  list  loops  c#-4.0  subset 


30
ไม่พบหน้า HTTP 404 ใน Web Api ที่โฮสต์ใน IIS 7.5
ฉันมีแอปพลิเคชัน Web Api มันทำงานได้ดีอย่างสมบูรณ์เมื่อฉันทดสอบโดยใช้เซิร์ฟเวอร์ dev debugging VS 2010 แต่ตอนนี้ฉันปรับใช้กับ IIS 7.5 แล้วและฉันได้รับข้อผิดพลาด HTTP 404 เมื่อพยายามเข้าถึงแอปพลิเคชัน นี่คือ web.config ของฉัน &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;configuration&gt; &lt;connectionStrings&gt; &lt;add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-FlowGearProxy-20123141219;Integrated Security=True" providerName="System.Data.SqlClient" /&gt; &lt;/connectionStrings&gt; &lt;appSettings&gt; &lt;add key="webpages:Version" value="2.0.0.0" /&gt; &lt;add key="webpages:Enabled" value="true" /&gt; &lt;add key="PreserveLoginUrl" value="true" /&gt; &lt;add key="ClientValidationEnabled" value="true" /&gt; &lt;add …

10
การตัดเวลา StopWatch ด้วยผู้รับมอบสิทธิ์หรือแลมบ์ดา?
ฉันกำลังเขียนโค้ดแบบนี้โดยใช้เวลาที่รวดเร็วและสกปรกเล็กน้อย: var sw = new Stopwatch(); sw.Start(); for (int i = 0; i &lt; 1000; i++) { b = DoStuff(s); } sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); แน่นอนว่ามีวิธีที่จะเรียกรหัสเวลานี้ว่าแฟนซี - schmancy .NET 3.0 lambda แทนที่จะตัดและวาง (พระเจ้าห้าม) สองสามครั้งและแทนที่DoStuff(s)ด้วยDoSomethingElse(s)? ฉันรู้ว่ามันสามารถทำได้Delegateแต่ฉันสงสัยเกี่ยวกับวิธีแลมด้า
97 c#  .net  delegates  lambda 

3
ThreadStatic vs ThreadLocal <T>: ทั่วไปดีกว่าแอตทริบิวต์หรือไม่
[ThreadStatic]ถูกกำหนดโดยใช้แอตทริบิวต์ในขณะที่ThreadLocal&lt;T&gt;ใช้ทั่วไป เหตุใดจึงเลือกโซลูชันการออกแบบที่แตกต่างกัน ข้อดีและข้อเสียของการใช้ทั่วไปกับแอตทริบิวต์ในกรณีนี้คืออะไร?

6
วิธีสร้างแอตทริบิวต์ที่อนุญาตซ้ำกัน
ฉันใช้แอตทริบิวต์ที่กำหนดเองซึ่งสืบทอดมาจากคลาสแอตทริบิวต์ ฉันใช้มันแบบนี้: [MyCustomAttribute("CONTROL")] [MyCustomAttribute("ALT")] [MyCustomAttribute("SHIFT")] [MyCustomAttribute("D")] public void setColor() { } แต่แสดงข้อผิดพลาด "แอตทริบิวต์" MyCustomAttribute "ที่ซ้ำกัน ฉันจะสร้างแอตทริบิวต์ที่อนุญาตซ้ำได้อย่างไร
97 c#  attributes 

14
วิธีการแบนต้นไม้ผ่าน LINQ
ดังนั้นฉันจึงมีต้นไม้ง่ายๆ: class MyNode { public MyNode Parent; public IEnumerable&lt;MyNode&gt; Elements; int group = 1; } ฉันมีIEnumerable&lt;MyNode&gt;. ฉันต้องการรับรายการทั้งหมดMyNode(รวมถึงวัตถุโหนดภายใน ( Elements)) เป็นรายการWhere group == 1เดียว ต้องทำอย่างไรผ่าน LINQ?
97 c#  .net  linq  .net-4.0  tree 

3
ตัวอย่างง่ายๆของ RestSharp [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันพยายามสร้างเว็บแอปพลิเคชันต้นแบบง่ายๆที่ใช้ RestSharp เพื่อเรียก Rest API ฉันไม่สามารถหาตัวอย่างที่ดีได้เลย ใครช่วยกรุณาแบ่งปันและแนะนำฉันไปยังแหล่งข้อมูลที่ถูกต้องได้โปรด? ฉันได้ดูสิ่งต่อไปนี้แล้วและไม่ได้ให้สิ่งที่ฉันกำลังมองหาเช่นตัวอย่างที่ใช้งานได้อย่างสมบูรณ์: http://restsharp.org/ (ไม่มีแอปพลิเคชันแบบเต็มพร้อมตัวอย่าง) http://www.stum.de/2009/12/22/using-restsharp-to-consume-restful-web-services/ (ดูเหมือนจะเก่า) ขณะสร้างต้นแบบฉันได้รับข้อผิดพลาดด้านล่างสำหรับรหัสด้านล่าง: RestResponse response = client.Execute(request); *Cannot implicitly convert type 'IRestResponse' to 'RestResponse'. An explicit conversion exists (are you missing a cast?) *
97 c#  rest  restsharp 

17
ปิดหน้าต่างจาก ViewModel
ฉันกำลังสร้างการเข้าสู่ระบบโดยใช้window controlเพื่ออนุญาตให้ผู้ใช้ล็อกอินเข้าสู่WPFแอปพลิเคชันที่ฉันกำลังสร้าง จนถึงตอนนี้ผมได้สร้างวิธีการที่จะตรวจสอบว่าผู้ใช้จะได้เข้าในข้อมูลประจำตัวที่ถูกต้องสำหรับusernameและpasswordในtextboxบนหน้าจอเข้าสู่ระบบสองbindingproperties ฉันประสบความสำเร็จโดยการสร้างboolวิธีการเช่นนั้น public bool CheckLogin() { var user = context.Users.Where(i =&gt; i.Username == this.Username).SingleOrDefault(); if (user == null) { MessageBox.Show("Unable to Login, incorrect credentials."); return false; } else if (this.Username == user.Username || this.Password.ToString() == user.Password) { MessageBox.Show("Welcome " + user.Username + ", you have successfully logged in."); …
97 c#  wpf  mvvm 

7
รูปแบบ TimeSpan ToString
แค่อยากรู้ว่ามีสตริงรูปแบบที่ฉันสามารถใช้เพื่อส่งออกบางอย่างเช่น "5h 3m 30s" ได้หรือไม่ เช่น. (ผิดอย่างเห็นได้ชัด) myTimeSpan.ToString("hh mm ss")
97 c#  .net 

10
C # การเชื่อมต่อผ่านพร็อกซี
ฉันทำงานในสำนักงานที่ต้องมีการเชื่อมต่อทั้งหมดผ่านพร็อกซี http เฉพาะ ฉันต้องเขียนแอปพลิเคชันง่ายๆเพื่อค้นหาค่าบางอย่างจากเว็บเซิร์ฟเวอร์ - มันง่ายมากถ้าไม่มีพร็อกซี ฉันจะทำให้แอปพลิเคชัน C # รับรู้พร็อกซีได้อย่างไร ฉันจะทำการเชื่อมต่อผ่านพร็อกซีได้อย่างไร?
97 c#  proxy 

7
เป็นโมฆะใน C # generics?
ฉันมีวิธีการทั่วไปที่รับคำขอและให้การตอบกลับ public Tres DoSomething&lt;Tres, Treq&gt;(Tres response, Treq request) {/*stuff*/} แต่ฉันไม่ต้องการคำตอบสำหรับคำขอของฉันเสมอไปและฉันไม่ต้องการป้อนข้อมูลคำขอเพื่อรับคำตอบเสมอไป ฉันไม่ต้องการคัดลอกและวางวิธีการทั้งหมดเพื่อทำการเปลี่ยนแปลงเล็กน้อย สิ่งที่ฉันต้องการคือสามารถทำได้: public Tre DoSomething&lt;Tres&gt;(Tres response) { return DoSomething&lt;Tres, void&gt;(response, null); } เป็นไปได้ในบางลักษณะหรือไม่? ดูเหมือนว่าการใช้ void โดยเฉพาะจะไม่ได้ผล แต่ฉันหวังว่าจะพบบางสิ่งที่คล้ายคลึงกัน
97 c#  generics 

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