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

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

11
BestPractice - แปลงอักขระตัวแรกของสตริงเป็นตัวพิมพ์เล็ก
ฉันต้องการวิธีที่เปลี่ยนอักขระตัวแรกของสตริงเป็นตัวพิมพ์เล็ก แนวทางของฉัน: 1. public static string ReplaceFirstCharacterToLowerVariant(string name) { return String.Format("{0}{1}", name.First().ToString().ToLowerInvariant(), name.Substring(1)); } 2. public static IEnumerable<char> FirstLetterToLowerCase(string value) { var firstChar = (byte)value.First(); return string.Format("{0}{1}", (char)(firstChar + 32), value.Substring(1)); } แนวทางของคุณคืออะไร?
136 c#  .net  string 

21
ฉันจะมีคอมโบบ็อกซ์ที่มีขอบเขต enum พร้อมการจัดรูปแบบสตริงที่กำหนดเองสำหรับค่า enum ได้อย่างไร
ในโพสต์Enum ToStringมีการอธิบายวิธีการใช้แอตทริบิวต์ที่กำหนดเองDescriptionAttributeดังนี้: Enum HowNice { [Description("Really Nice")] ReallyNice, [Description("Kinda Nice")] SortOfNice, [Description("Not Nice At All")] NotNice } จากนั้นคุณเรียกใช้ฟังก์ชันGetDescriptionโดยใช้ไวยากรณ์เช่น: GetDescription<HowNice>(NotNice); // Returns "Not Nice At All" แต่นั่นไม่ได้ช่วยฉันจริงๆเมื่อฉันต้องการเติม ComboBox ด้วยค่าของ enum เนื่องจากฉันไม่สามารถบังคับให้ ComboBox โทรGetDescriptionได้ สิ่งที่ฉันต้องการมีข้อกำหนดดังต่อไปนี้: การอ่าน(HowNice)myComboBox.selectedItemจะส่งคืนค่าที่เลือกเป็นค่า enum ผู้ใช้ควรเห็นสตริงการแสดงที่ใช้งานง่ายไม่ใช่แค่ชื่อของค่าการแจงนับ ดังนั้นแทนที่จะเห็น " NotNice" ผู้ใช้จะเห็น " Not Nice At All" หวังว่าการแก้ปัญหาจะต้องมีการเปลี่ยนแปลงโค้ดเล็กน้อยในการแจงนับที่มีอยู่ เห็นได้ชัดว่าฉันสามารถใช้คลาสใหม่สำหรับแต่ละ enum ที่ฉันสร้างขึ้นและลบล้างมันToString()ได้ แต่นั่นเป็นงานที่ต้องทำมากสำหรับแต่ละ …
136 c#  combobox  enums 

4
การเปิดใช้งานการหลบหนีสองครั้งเป็นอันตรายหรือไม่?
ฉันมีแอปพลิเคชั่น ASP.NET MVC พร้อมเส้นทางที่อนุญาตให้ค้นหาสิ่งต่างๆผ่าน / search / <searchterm> เมื่อฉันจัดหา "search / abc" มันทำงานได้ดี แต่เมื่อฉันใส่ "/ search / a + b + c" (เข้ารหัส url อย่างถูกต้อง) IIS7 จะปฏิเสธคำขอที่มี HTTP Error 404.11 ( โมดูลการกรองคำขอถูกกำหนดค่าให้ปฏิเสธ a คำขอที่มีลำดับการหลีกเลี่ยงคู่ ) เหตุใดจึงทำเช่นนี้ ดูเหมือนว่าจะโยนข้อผิดพลาดหากเป็นส่วนหนึ่งของ URL แต่ไม่ได้เป็นส่วนหนึ่งของสตริงการสืบค้น (/ ส่ง? q = a + b + c ใช้ได้ดี) ตอนนี้ฉันสามารถเปิดใช้งานการร้องขอการหลบหนีสองครั้งในส่วนความปลอดภัยของ …
136 c#  asp.net-mvc  iis-7 

8
อาร์เรย์ฮีปและสแต็กและชนิดของค่า
int[] myIntegers; myIntegers = new int[100]; ในโค้ดด้านบน int [100] ใหม่กำลังสร้างอาร์เรย์บนฮีปหรือไม่ จากสิ่งที่ฉันได้อ่านเกี่ยวกับ CLR ผ่าน c # คำตอบคือใช่ แต่สิ่งที่ฉันไม่เข้าใจคือสิ่งที่เกิดขึ้นกับ int จริงภายในอาร์เรย์ เนื่องจากเป็นประเภทค่าฉันจึงเดาว่าพวกเขาจะต้องอยู่ในกล่องอย่างที่ฉันทำได้เช่นส่ง myIntegers ไปยังส่วนอื่น ๆ ของโปรแกรมและมันจะทำให้สแต็คยุ่งเหยิงหากพวกเขาถูกทิ้งไว้ตลอดเวลา . หรือว่าฉันผิด? ฉันเดาว่าพวกมันเพิ่งถูกบรรจุกล่องและจะอยู่บนกองได้นานเท่าที่อาร์เรย์มี
136 c#  arrays  memory  stack  heap 

13
วิธีการตั้งค่าเบรกพอยต์ตามเงื่อนไขใน Visual Studio
มีวิธีง่ายๆในการตั้งค่าเบรกพอยต์ตามเงื่อนไขใน Visual Studio หรือไม่ ถ้าฉันต้องการตีเบรกพอยต์ก็ต่อเมื่อค่าของตัวแปรกลายเป็นบางอย่างฉันจะทำอย่างไร

4
ข้อ จำกัด ประเภทหลายวิธีทั่วไป (OR)
เมื่ออ่านสิ่งนี้ฉันได้เรียนรู้ว่าเป็นไปได้ที่จะอนุญาตให้วิธีการยอมรับพารามิเตอร์หลายประเภทโดยทำให้เป็นวิธีการทั่วไป ในตัวอย่างรหัสต่อไปนี้ใช้กับข้อ จำกัด ประเภทเพื่อให้แน่ใจว่า "U" เป็นIEnumerable<T>ไฟล์. public T DoSomething<U, T>(U arg) where U : IEnumerable<T> { return arg.First(); } ฉันพบรหัสเพิ่มเติมที่อนุญาตให้เพิ่มข้อ จำกัด หลายประเภทเช่น: public void test<T>(string a, T arg) where T: ParentClass, ChildClass { //do something } แต่รหัสนี้จะปรากฏขึ้นเพื่อบังคับว่าargต้องมีทั้งชนิดของและParentClass ChildClassสิ่งที่ฉันต้องการทำคือบอกว่า arg อาจเป็นประเภทหนึ่งParentClass หรือ ChildClassในลักษณะต่อไปนี้: public void test<T>(string a, T arg) where T: …
136 c#  asp.net-mvc-3  types 

11
ฉันควรใช้ HashSet <T> type เมื่อใด
ฉันกำลังสำรวจHashSet&lt;T&gt;ประเภท แต่ฉันไม่เข้าใจว่ามันอยู่ที่ใดในคอลเล็กชัน สามารถใช้แทน a List&lt;T&gt;? ฉันจินตนาการว่าประสิทธิภาพของ a HashSet&lt;T&gt;จะดีขึ้น แต่ฉันไม่เห็นการเข้าถึงองค์ประกอบของแต่ละบุคคล เป็นเพียงการแจงนับเท่านั้น?


10
จะอ่านค่าจาก querystring ด้วย ASP.NET Core ได้อย่างไร?
ฉันกำลังสร้าง RESTful API หนึ่งรายการโดยใช้ ASP.NET Core MVC และฉันต้องการใช้พารามิเตอร์ querystring เพื่อระบุการกรองและการเพจบนทรัพยากรที่ส่งคืนคอลเล็กชัน ในกรณีนั้นฉันต้องอ่านค่าที่ส่งผ่านในสตริงการสืบค้นเพื่อกรองและเลือกผลลัพธ์ที่จะส่งคืน ฉันได้พบแล้วว่าภายในการควบคุมGetการดำเนินการในการเข้าถึงผลตอบแทนที่หนึ่งHttpContext.Request.QueryIQueryCollection ปัญหาคือฉันไม่รู้ว่ามันใช้ในการดึงค่าอย่างไร ความจริงฉันคิดว่าวิธีที่จะทำคือใช้ตัวอย่างเช่น string page = HttpContext.Request.Query["page"] ปัญหาคือHttpContext.Request.Query["page"]ไม่ส่งคืนสตริง แต่เป็นStringValuesไฟล์. อย่างไรก็ตามเราจะใช้IQueryCollectionเพื่ออ่านค่าสตริงการสืบค้นได้อย่างไร?

9
วิธีการตัดเมธอดจากเอกสารประกอบ Swagger บน WebAPI โดยใช้ Swashbuckle
ฉันมีโปรแกรม C # ASP.NET WebAPI กับเอกสาร API ถูกสร้างขึ้นโดยอัตโนมัติโดยใช้Swashbuckle ฉันต้องการที่จะละเว้นวิธีการบางอย่างจากเอกสาร แต่ฉันไม่สามารถหาวิธีที่จะบอก Swagger ไม่ให้รวมไว้ในการส่งออก Swagger UI ฉันรู้สึกว่ามันเป็นสิ่งที่ต้องทำเกี่ยวกับการเพิ่มแบบจำลองหรือตัวกรอง schemaแต่ไม่ชัดเจนว่าจะทำอย่างไรและเอกสารประกอบดูเหมือนจะให้ตัวอย่างของวิธีการปรับเปลี่ยนผลลัพธ์สำหรับวิธีการเท่านั้นไม่เอาออกอย่างสมบูรณ์จากผลลัพธ์ ขอบคุณล่วงหน้า.
135 c#  asp.net  .net  swagger 

16
ทำไม "&&" ไม่ใช่ "&"
เหตุใดจึงเป็นที่&amp;&amp;นิยม&amp;และ||ดีกว่า|? ฉันถามคนที่เขียนโปรแกรมมาหลายปีแล้วคำอธิบายของเขาคือ: ยกตัวอย่างเช่นในif (bool1 &amp;&amp; bool2 &amp;&amp; bool3) { /*DoSomething*/ }, bool1มีที่จะเป็นจริงสำหรับการไปทดสอบbool2ที่มีจะเป็นจริงก่อนจะย้ายไปbool3ฯลฯ หากผมใช้เพียงครั้งเดียว&amp;แทนที่จะมีคำสั่งในการทดสอบแม้ว่าทั้งหมดของพวกเขาจะต้องมีความจริงที่จะไม่มี ก้าวไปสู่บรรทัดถัดไปแล้วทำไมมันถึงสำคัญล่ะ? หมายเหตุ: ฉันต้องการชี้ให้เห็นว่าฉันเทียบเท่ากับการเขียนโปรแกรมของเด็กวัยหัดเดินและนี่ไม่ใช่คำถามที่จริงจังหรือเร่งด่วน เป็นเรื่องของการทำความเข้าใจมากกว่าว่าเหตุใดจึงควรทำสิ่งต่าง ๆ ในทางตรงกันข้าม
135 c#  operators 

4
ความแตกต่างระหว่างโครงการ MVC 5 และโครงการ Web Api
ฉันยังใหม่กับASP.NET MVCและWeb APIและพยายามรับข้อมูลพื้นฐาน AFAIK เรามีโครงการแม่แบบใน VS 2013 ชื่อเป็นMVC, และWeb APIBoth of them together ฉันได้อ่านบทช่วยสอนและเรียนรู้ว่าเราสามารถสร้าง API ได้โดยใช้ MVC เพียงอย่างเดียวและกับเทมเพลต Web API แล้วอะไรคือความแตกต่างระหว่างสิ่งเหล่านี้ตามสถาปัตยกรรมและการใช้งาน ?

16
NHibernate.MappingException: ไม่มีสำหรับ: XYZ
ตอนนี้ก่อนที่คุณพูดมัน: ผมไม่ได้ Google และฉันhbm.xmlไฟล์เป็นทรัพยากรฝัง นี่คือรหัสที่ฉันเรียก: ISession session = GetCurrentSession(); var returnObject = session.Get&lt;T&gt;(Id); นี่คือไฟล์การแมปของฉันสำหรับคลาส: &lt;?xml version="1.0" encoding="utf-8" ?&gt; &lt;hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"&gt; &lt;class name="HQData.Objects.SubCategory, HQData" table="SubCategory" lazy="true"&gt; &lt;id name="ID" column="ID" unsaved-value="0"&gt; &lt;generator class="identity" /&gt; &lt;/id&gt; &lt;property name="Name" column="Name" /&gt; &lt;property name="NumberOfBuckets" column="NumberOfBuckets" /&gt; &lt;property name="SearchCriteriaOne" column="SearchCriteriaOne" /&gt; &lt;bag name="_Businesses" cascade="all"&gt; &lt;key column="SubCategoryId"/&gt; …
135 c#  .net  nhibernate 

8
Enterprise Library Unity เทียบกับคอนเทนเนอร์ IoC อื่น ๆ [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ข้อดีข้อเสียของการใช้ Enterprise Library Unity เทียบกับคอนเทนเนอร์ IoC อื่น ๆ (Windsor, Spring.Net, Autofac .. ) คืออะไร?

5
วิธีการดำเนินการที่ไม่ชัดเจนของ ASP.NET MVC
ฉันมีสองวิธีการดำเนินการที่ขัดแย้งกัน โดยพื้นฐานแล้วฉันต้องการไปยังมุมมองเดียวกันโดยใช้เส้นทางที่แตกต่างกันสองเส้นทางไม่ว่าจะโดย ID ของรายการหรือตามชื่อของรายการและของผู้ปกครอง (รายการสามารถมีชื่อเดียวกันในกลุ่มผู้ปกครองที่แตกต่างกันได้) สามารถใช้คำค้นหาเพื่อกรองรายการ ตัวอย่างเช่น... Items/{action}/ParentName/ItemName Items/{action}/1234-4321-1234-4321 นี่คือวิธีการดำเนินการของฉัน (มีRemoveวิธีดำเนินการด้วย) ... // Method #1 public ActionResult Assign(string parentName, string itemName) { // Logic to retrieve item's ID here... string itemId = ...; return RedirectToAction("Assign", "Items", new { itemId }); } // Method #2 public ActionResult Assign(string itemId, string searchTerm, …

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