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

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

5
C # List <> เรียงตาม x แล้ว y
คล้ายกับList &lt;&gt; OrderBy Alphabetical Orderเราต้องการจัดเรียงตามองค์ประกอบหนึ่งจากนั้นอีกองค์ประกอบหนึ่ง เราต้องการบรรลุฟังก์ชันเทียบเท่าของ SELECT * from Table ORDER BY x, y เรามีคลาสที่มีฟังก์ชันการเรียงลำดับจำนวนหนึ่งและเราไม่มีปัญหาในการจัดเรียงตามองค์ประกอบเดียว ตัวอย่างเช่น: public class MyClass { public int x; public int y; } List&lt;MyClass&gt; MyList; public void SortList() { MyList.Sort( MySortingFunction ); } และเรามีสิ่งต่อไปนี้ในรายการ: Unsorted Sorted(x) Desired --------- --------- --------- ID x y ID x y …
88 c#  .net  sorting 

14
วิธีรับการตอบสนอง ASP.NET MVC Ajax เพื่อเปลี่ยนเส้นทางไปยังหน้าใหม่แทนที่จะแทรกมุมมองลงใน UpdateTargetId
ฉันใช้ Ajax BeginForm เพื่อสร้างแบบฟอร์มซึ่งจะทำการโพสต์แบ็คของ ajax ไปยังแอ็คชันคอนโทรลเลอร์บางอย่างจากนั้นหากการดำเนินการสำเร็จผู้ใช้ควรได้รับการเปลี่ยนเส้นทางไปยังเพจอื่น (หากการดำเนินการล้มเหลวข้อความสถานะจะแสดงโดยใช้ AjaxOptions UpdateTargetId) using (Ajax.BeginForm("Delete", null, new { userId = Model.UserId }, new AjaxOptions { UpdateTargetId = "UserForm", LoadingElementId = "DeletingDiv" }, new { name = "DeleteForm", id = "DeleteForm" })) { [HTML DELETE BUTTON] } หากการลบสำเร็จฉันจะส่งคืนผลลัพธ์การเปลี่ยนเส้นทาง: [Authorize] public ActionResult Delete(Int32 UserId) { UserRepository.DeleteUser(UserId); …

7
ฉันจะส่งคืนรหัสสถานะ HTTP ที่กำหนดเองจากวิธี WCF REST ได้อย่างไร
หากมีสิ่งผิดปกติเกิดขึ้นในการเรียก WCF REST เช่นไม่พบทรัพยากรที่ร้องขอฉันจะเล่นกับรหัสตอบกลับ HTTP ได้อย่างไร (ตั้งค่าเป็น HTTP 404 เป็นต้น) ในเมธอด OperationContract ของฉัน
88 c#  .net  wcf  rest 


7
แนะนำให้ใช้ prevTask.Wait () กับ ContinueWith (จากไลบรารี Tasks) หรือไม่
เมื่อเร็ว ๆ นี้ฉันได้รับแจ้งว่าฉันใช้. ContinueWith for Tasks ของฉันอย่างไรไม่ใช่วิธีที่เหมาะสมในการใช้ ฉันยังไม่พบหลักฐานเกี่ยวกับเรื่องนี้บนอินเทอร์เน็ตดังนั้นฉันจะถามพวกคุณว่าคำตอบคืออะไร นี่คือตัวอย่างของวิธีที่ฉันใช้. ContinueWith: public Task DoSomething() { return Task.Factory.StartNew(() =&gt; { Console.WriteLine("Step 1"); }) .ContinueWith((prevTask) =&gt; { Console.WriteLine("Step 2"); }) .ContinueWith((prevTask) =&gt; { Console.WriteLine("Step 3"); }); } ตอนนี้ฉันรู้แล้วว่านี่เป็นตัวอย่างง่ายๆและมันจะทำงานเร็วมาก แต่แค่สมมติว่าแต่ละงานทำงานได้นานขึ้น ดังนั้นสิ่งที่ฉันได้รับแจ้งก็คือใน. ContinueWith คุณต้องพูดว่า prevTask.Wait (); มิฉะนั้นคุณสามารถทำงานก่อนที่งานก่อนหน้านี้จะเสร็จสิ้น เป็นไปได้หรือไม่? ฉันคิดว่างานที่สองและสามของฉันจะทำงานเมื่องานก่อนหน้านี้เสร็จสิ้นเท่านั้น สิ่งที่ฉันบอกวิธีเขียนโค้ด: public Task DoSomething() { return …

8
Web API ในโซลูชัน MVC ในโครงการแยกต่างหาก
ฉันกำลังสร้างโครงการ MVC4 ใหม่และการวิจัยทำให้ฉันเชื่อว่าตอนนี้การสื่อสารจากจาวาสคริปต์ไปยังฝั่งเซิร์ฟเวอร์ทำได้ดีกว่าผ่านเฟรมเวิร์ก Web API มากกว่าการดำเนินการของคอนโทรลเลอร์ ความเข้าใจของฉันถูกต้องในเรื่องนี้หรือไม่? ฉันคิดว่าฉันสามารถแบ่งปันคุณลักษณะทั้งหมดของฉันและอื่น ๆ ระหว่างเว็บ API และตัวควบคุม MVC ได้ดูเหมือนจะไม่เปลี่ยนแปลงครั้งใหญ่สำหรับฉัน เมื่อฉันตั้งค่าแอปพลิเคชันฉันต้องการแยกส่วนประกอบออกเป็นโปรเจ็กต์ แผนของฉันคือมีโครงการ MVC และโครงการเว็บ API แต่ฉันได้พบกับปัญหา ตัวอย่างเช่นฉันมี 2 แอพเช่นนี้การตั้งค่าเส้นทางแยกต่างหาก ฯลฯ เป็นต้น ดังนั้นคำถามของฉันคือในแอปพลิเคชัน MVC เฟรมเวิร์ก API ของเว็บควรอยู่ในโปรเจ็กต์เดียวกันหรือควรแยกเว็บ API ออกเป็นโปรเจ็กต์ของตัวเองและแก้ไขปัญหา

6
แสดงการใช้คำสำคัญที่ลบเลือนใน C #
ฉันต้องการโค้ดโปรแกรมเล็ก ๆ น้อย ๆ ที่แสดงให้เห็นถึงลักษณะการทำงานของvolatileคำหลัก ตามหลักการแล้วควรเป็นโปรแกรมที่ดำเนินการเข้าถึงพร้อมกันไปยังเขตข้อมูลคงที่ที่ไม่ลบเลือนและทำให้เกิดพฤติกรรมที่ไม่ถูกต้องด้วยเหตุนี้ การเพิ่มคีย์เวิร์ดที่ลบเลือนในโปรแกรมเดียวกันควรแก้ไขปัญหาได้ นั่นคือสิ่งที่ฉันไม่สามารถบรรลุได้ แม้จะพยายามหลายครั้งเปิดใช้งานการเพิ่มประสิทธิภาพ ฯลฯ ฉันมักจะได้พฤติกรรมที่ถูกต้องโดยไม่ต้องใช้คีย์เวิร์ด 'ระเหย' คุณมีความคิดเกี่ยวกับหัวข้อนี้หรือไม่? คุณรู้วิธีจำลองปัญหาดังกล่าวในแอปสาธิตอย่างง่ายหรือไม่? ขึ้นอยู่กับฮาร์ดแวร์หรือไม่?
88 c#  .net  volatile 

3
DataContractJsonSerializer และ JavaScriptSerializer แตกต่างกันอย่างไร
.NET Framework มาพร้อมกับSystem.Runtime.Serialization.Json.DataContractJsonSerializerและSystem.Web.Script.Serialization.JavaScriptSerializerซึ่งทั้งสองอย่างนี้จะยกเลิก / ซีเรียลไลซ์ JSON ฉันจะรู้ได้อย่างไรว่าควรเลือกประเภทใดประเภทหนึ่งเหล่านี้ทับอีกประเภทหนึ่ง MSDN ไม่ได้ระบุชัดเจนว่าข้อดีของมันคืออะไร เรามีโปรเจ็กต์หลายโปรเจ็กต์ที่ใช้หรือปล่อย JSON และคลาสที่เลือกไว้สำหรับแต่ละโปรเจ็กต์นั้นขึ้นอยู่กับความคิดเห็นของผู้พัฒนาหลักในแต่ละโปรเจ็กต์ บางอย่างเรียบง่ายสองมีตรรกะที่ซับซ้อนเกี่ยวกับการสร้างประเภทที่มีการจัดการจาก JSON (ประเภทไม่ได้จับคู่กับสตรีมอย่างใกล้ชิด) แต่ไม่ได้เน้นเรื่องความเร็ว แต่อย่างใดประเภทหนึ่งต้องการความเร็ว ไม่มีการโต้ตอบกับ WCF อย่างน้อย ณ ตอนนี้ ในขณะที่ฉันสนใจห้องสมุดทางเลือก แต่ฉันก็หวังว่าจะมีคนตอบคำถามของฉัน

1
ส่งข้อความผ่าน Facebook Chat API (XMPP) C #
OBSERVE https://developers.facebook.com/docs/chat/ บริการและ API ครอบคลุมเอกสารนี้เลิกใช้งานแล้วด้วยการเปิดตัว Platform API v2.0 เมื่อเลิกใช้งานเวอร์ชัน 1.0 แล้ว chat.facebook.com จะไม่สามารถใช้งานได้อีกต่อไป สำคัญ! อ่านสิ่งนี้แล้วคุณอาจต้องการทำบางสิ่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิงกับคำถามนี้ ฉันกำลังสร้างการแชทด้วย WebForms C # ที่เชื่อมต่อกับ Facebook Chat API ฉันได้ดูคำถาม SO นี้แล้วด้วย (และลิงก์ทั้งหมด) บางส่วนไม่เกี่ยวข้องอีกต่อไปเนื่องจากauth_tokenตอนนี้Facebook ต้องการ หากต้องการทำซ้ำคุณควรตั้งค่าเว็บแอป Facebook ใช้appIdและบัญชีผู้ใช้ด้วยชุดสิทธิ์ xmpp_login จากนั้นสร้างChat.aspxโดยมีรหัสด้านหลังและวางรหัสนี้ตามนั้น และแทนที่ผู้ใช้ฮาร์ดโค้ดเพื่อโต้ตอบด้วย ฉันมีปัญหาสอง (อาจจะสาม) ซึ่งฉันเชื่อว่าทำให้ฉันไม่สามารถส่งข้อความแชทได้สำเร็จ กระบวนการที่ระบุไว้// finishes auth processในเอกสารไม่ตรงกับคำอธิบายเอกสาร (ฉันไม่ได้รับการตอบสนองใด ๆ หลังจากได้รับข้อความความสำเร็จที่ใช้ SSL / TLS จาก Facebook) …

4
ส่วน app.config ที่กำหนดเองพร้อมรายการองค์ประกอบ "เพิ่ม" แบบง่ายๆ
ฉันจะสร้างส่วน app.config ที่กำหนดเองซึ่งเป็นเพียงรายการaddองค์ประกอบง่ายๆได้อย่างไร ฉันพบตัวอย่างบางส่วน (เช่นวิธีสร้างส่วนกำหนดค่าที่กำหนดเองใน app.config? ) สำหรับส่วนที่กำหนดเองที่มีลักษณะดังนี้: &lt;RegisterCompanies&gt; &lt;Companies&gt; &lt;Company name="Tata Motors" code="Tata"/&gt; &lt;Company name="Honda Motors" code="Honda"/&gt; &lt;/Companies&gt; &lt;/RegisterCompanies&gt; แต่ฉันจะหลีกเลี่ยงองค์ประกอบคอลเลกชันพิเศษ ("บริษัท ") ได้อย่างไรเพื่อให้ดูเหมือนกับส่วนappSettingsและconnectionStringsส่วนต่างๆ กล่าวอีกนัยหนึ่งฉันต้องการ: &lt;registerCompanies&gt; &lt;add name="Tata Motors" code="Tata"/&gt; &lt;add name="Honda Motors" code="Honda"/&gt; &lt;/registerCompanies&gt;
88 c#  app-config 

7
ปิดใช้งานหน้า“ Break Mode” ใน VS2015
เพิ่งย้ายข้อมูลจาก VS2010 เป็น 2015 ตอนนี้เมื่อฉันหยุดแอปที่กำลังทำงานอยู่ชั่วคราวฉันจะได้รับหน้า "โหมดพัก" ที่น่ารำคาญมากพร้อมกับ "แอปพลิเคชันอยู่ในโหมดพัก" ไม่ยิงเชอร์ล็อกฉันกดหยุดชั่วคราว ฉันรู้ว่ามันอยู่ในโหมดหยุดพัก หน้านี้น่ารำคาญและพาฉันออกไปจากรหัสที่ฉันกำลังจะใช้งานได้โดยไม่จำเป็น ฉันไม่ได้รับหน้านี้ที่น่ารำคาญในปี 2010 ฉันอาจมีการเปลี่ยนการตั้งค่าบางอย่างในปี 2010 แต่นานเกินไปที่จะจำ มีวิธีปิดการใช้งานหน้าโหมดแบ่งโง่ใน VS2015 หรือไม่?


10
เหตุใดคนตัดไม้จึงแนะนำให้ใช้คนตัดไม้ต่อชั้นเรียน
ตามเอกสารของ NLog: แอพพลิเคชั่นส่วนใหญ่จะใช้คนตัดไม้หนึ่งคนต่อคลาสโดยที่ชื่อของคนตัดไม้จะเหมือนกับชื่อของคลาส นี่เป็นวิธีเดียวกับที่ log4net ทำงาน เหตุใดจึงเป็นแนวทางปฏิบัติที่ดี
88 c#  log4net  logging  nlog 

8
ฉันจะดูเนื้อหาของ datatable หรือ dataview ในหน้าต่างทันทีได้อย่างไร
บางครั้งฉันจะอยู่ที่จุดพักในโค้ดของฉันและฉันต้องการดูเนื้อหาของDataTableตัวแปร (หรือDataTableใน a DataSet) นาฬิกาด่วนไม่ได้ให้มุมมองที่ชัดเจนของเนื้อหา ฉันจะดูได้อย่างง่ายดายได้อย่างไร

7
C # - วิธีที่ง่ายที่สุดในการลบสตริงย่อยที่เกิดขึ้นครั้งแรกจากสตริงอื่น
ฉันต้องการลบสตริงแรก (และครั้งแรกเท่านั้น) ที่เกิดขึ้นจากสตริงอื่น "\\Iteration"นี่คือตัวอย่างแทนที่สตริง นี้: ProjectName \\ Iteration \\ Release1 \\ Iteration1 จะกลายเป็นสิ่งนี้: ProjectName \\ Release1 \\ Iteration1 นี่คือรหัสบางส่วนที่ทำสิ่งนี้: const string removeString = "\\Iteration"; int index = sourceString.IndexOf(removeString); int length = removeString.Length; String startOfString = sourceString.Substring(0, index); String endOfString = sourceString.Substring(index + length); String cleanPath = startOfString + endOfString; ดูเหมือนว่าจะเป็นรหัสจำนวนมาก …
88 c#  string 

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