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

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

4
คำขอเกิน maxQueryStringLength ที่กำหนดไว้เมื่อใช้ [Authorize]
ฉันมีไซต์ MVC3 ใน C # ฉันมีมุมมองเฉพาะที่ถูกป้อนพารามิเตอร์การสืบค้นจากฟังก์ชัน JavaScript ฟังก์ชันจะเปลี่ยนเส้นทางไปยังไซต์ผ่าน window.location.href = "../ActionName?" + query_string; query_string เป็นสตริงพารามิเตอร์เคียวรีแบบไดนามิกที่สร้างโดยฟังก์ชัน JavaScript สาเหตุของความแปลกนี้คือบางครั้งฟังก์ชันเดียวกันจะส่ง URL ไปยังเว็บฟอร์ม ASP.Net เนื่องจากต้องใช้ตัวควบคุมReportviewerการดำเนินการทางเลือกคือการบันทึกพารามิเตอร์บางตัวในกรณีนี้ที่ส่งผ่านไปยังมุมมอง (สามารถอธิบายเพิ่มเติมได้หากไม่สมเหตุสมผล) ทุกอย่างทำงานได้ดีจนกว่าฉันจะแนะนำ [Authorize] ให้กับวิธีการดำเนินการ หยุดทำงานถ้าอยู่ในสถานที่ทำงานได้ดีโดยไม่ต้องและ [Authorize] ทำงานได้ดีกับวิธีการอื่น ๆ ทั้งหมด URL ทั้งหมดในกรณีนี้มีความยาว 966 ตัวอักษรหลังจากการวิจัยดูเหมือนว่าค่าmaxQueryStringLengthคือ 2048 ตามค่าเริ่มต้น แต่สามารถแทนที่ค่าใดก็ได้ของประเภทจำนวนเต็มดังนั้นสำหรับการยิ้มฉันจึงเพิ่ม <security> <requestFiltering> <requestLimits maxQueryString="2048"></requestLimits> </requestFiltering> </security> คีย์ไปยังไฟล์กำหนดค่าเว็บภายใต้คีย์ ไม่มีความสุขที่นั่นฉันจึงไร้สาระและทำมันเป็น 4096 แต่ก็ยังไม่มีความสุข ขณะนี้ URL ทั้งหมดมีความยาว …

9
จะตรวจสอบได้อย่างไรว่ารายการทั้งหมดมีค่าเท่ากันและส่งคืนหรือคืนค่า "otherValue" หากไม่มี
หากรายการทั้งหมดในรายการมีค่าเท่ากันฉันจำเป็นต้องใช้ค่านั้นมิฉะนั้นฉันต้องใช้“ otherValue” ฉันไม่สามารถคิดวิธีที่ง่ายและชัดเจนในการทำเช่นนี้ ดูวิธีการเขียนลูปที่มีตรรกะพิเศษสำหรับรายการแรกในคอลเล็กชันด้วย
122 c#  linq 

1
วิธีระบุแอตทริบิวต์ข้อมูลในมีดโกนเช่น data-externalid =“ 23151” บน @ this.Html.CheckBoxFor (…)
@this.Html.CheckBoxFor(m => m.MyModel.MyBoolProperty, new { @class="myCheckBox", extraAttr="23521"}) ด้วยมีดโกนฉันไม่สามารถระบุค่าสำหรับข้อมูล - แอตทริบิวต์เช่น data-externalid="23521" มีวิธีทำโดยใช้@this.Html.CheckBoxFor(...)ไหม
122 c#  .net  razor 


10
วิธีที่เหมาะสมในการตรวจสอบค่าว่างคืออะไร?
ฉันชอบตัวดำเนินการการรวมกันเป็นโมฆะเพราะทำให้ง่ายต่อการกำหนดค่าเริ่มต้นสำหรับประเภทที่ว่าง int y = x ?? -1; ที่ดี xแต่ถ้าฉันต้องทำบางสิ่งบางอย่างที่เรียบง่ายด้วย ตัวอย่างเช่นถ้าฉันต้องการตรวจสอบSessionฉันมักจะต้องเขียนอะไรที่ละเอียดกว่านี้ ฉันหวังว่าฉันจะทำได้: string y = Session["key"].ToString() ?? "none"; แต่คุณทำไม่ได้เนื่องจาก.ToString()ถูกเรียกก่อนการตรวจสอบค่าว่างจึงล้มเหลวหากSession["key"]เป็นโมฆะ ฉันจะทำสิ่งนี้: string y = Session["key"] == null ? "none" : Session["key"].ToString(); มันใช้งานได้และดีกว่าในความคิดของฉันมากกว่าทางเลือกสามบรรทัด: string y = "none"; if (Session["key"] != null) y = Session["key"].ToString(); แม้ว่าจะได้ผล แต่ฉันก็ยังอยากรู้ว่ามีวิธีที่ดีกว่านี้หรือไม่ ดูเหมือนว่าไม่ว่าอะไรก็ตามที่ฉันต้องอ้างอิงSession["key"]สองครั้งเสมอ หนึ่งครั้งสำหรับการตรวจสอบและอีกครั้งสำหรับงานที่มอบหมาย ความคิดใด ๆ ?

13
วิธีการไดรฟ์ C #, C ++ หรือคอมไพเลอร์ Java เพื่อคำนวณ 1 + 2 + 3 + ... + 1000 ในเวลาคอมไพล์?
ในการสัมภาษณ์ล่าสุดฉันถูกถามคำถามแปลก ๆ ผู้สัมภาษณ์ถามฉันว่าฉันจะคำนวณ 1 + 2 + 3 + ... + 1000 โดยใช้คุณสมบัติคอมไพเลอร์ได้อย่างไร ซึ่งหมายความว่าฉันไม่ได้รับอนุญาตให้เขียนโปรแกรมและเรียกใช้งาน แต่ฉันควรเขียนโปรแกรมที่สามารถขับเคลื่อนคอมไพเลอร์ให้คำนวณผลรวมนี้ในขณะที่คอมไพล์และพิมพ์ผลลัพธ์เมื่อการคอมไพล์เสร็จสิ้น เขาบอกฉันว่าฉันอาจใช้ generics และคุณสมบัติ pre-processor ของคอมไพเลอร์ เป็นไปได้ที่จะใช้คอมไพเลอร์ C ++, C # หรือ Java ความคิดใด ๆ ??? คำถามนี้ไม่เกี่ยวข้องกับการคำนวณผลรวมโดยไม่มีการวนซ้ำใด ๆ ที่ถามที่นี่ นอกจากนี้ควรสังเกตว่าควรคำนวณผลรวมระหว่างการคอมไพล์ ไม่สามารถพิมพ์เฉพาะผลลัพธ์โดยใช้คำสั่งคอมไพเลอร์ C ++ อ่านข้อมูลเพิ่มเติมเกี่ยวกับคำตอบโพสต์ที่ฉันพบว่าการแก้ปัญหาที่เกิดขึ้นในระหว่างการรวบรวมโดยใช้ C ++ แม่แบบที่เรียกว่าmetaprogramming นี่เป็นเทคนิคที่ดร. เออร์วินอุนรูห์ค้นพบโดยบังเอิญระหว่างกระบวนการสร้างมาตรฐานภาษา C ++ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับหัวข้อนี้ในหน้าวิกิพีเดียของ meta-การเขียนโปรแกรม ดูเหมือนว่าจะสามารถเขียนโปรแกรมใน Java โดยใช้คำอธิบายประกอบจาวา …


7
ปัญหาโทเค็นต่อต้านการปลอมแปลง (MVC 5)
ฉันมีปัญหากับโทเค็นต่อต้านการปลอมแปลง :( ฉันได้สร้างคลาส User ของตัวเองซึ่งใช้งานได้ดี แต่ตอนนี้ฉันได้รับข้อผิดพลาดทุกครั้งที่ฉันไปที่หน้า/ บัญชี / ลงทะเบียนข้อผิดพลาดคือ: การอ้างสิทธิ์ประเภท " http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier " หรือ " http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider " คือ ไม่มีอยู่ใน ClaimsIdentity ที่ระบุ หากต้องการเปิดใช้งานการสนับสนุนโทเค็นต่อต้านการปลอมแปลงด้วยการตรวจสอบสิทธิ์ตามการอ้างสิทธิ์โปรดตรวจสอบว่าผู้ให้บริการการอ้างสิทธิ์ที่กำหนดค่าไว้ให้การอ้างสิทธิ์ทั้งสองนี้ในอินสแตนซ์ ClaimsIdentity ที่สร้างขึ้น หากผู้ให้บริการการอ้างสิทธิ์ที่กำหนดค่าไว้ใช้ประเภทการอ้างสิทธิ์อื่นเป็นตัวระบุเฉพาะสามารถกำหนดค่าได้โดยการตั้งค่าคุณสมบัติคงที่ AntiForgeryConfig.UniqueClaimTypeIdentifier ฉันพบบทความนี้: http://stack247.wordpress.com/2013/02/22/antiforgerytoken-a-claim-of-type-nameidentifier-or-identityprovider-was-not-present-on-provided-claimsidentity/ ดังนั้นฉันจึงเปลี่ยนวิธีApplication_Startของฉันเป็น: protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.Email; } แต่เมื่อฉันทำเช่นนั้นฉันได้รับข้อผิดพลาดนี้: ไม่มีการอ้างสิทธิ์ประเภท " http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress " ใน ClaimsIdentity ที่ระบุ มีใครเจอสิ่งนี้มาก่อนหรือไม่? …


18
การรับค่า Checkbox ใน ASP.NET MVC 4
ฉันกำลังทำงานกับแอป ASP.NET MVC 4 แอพนี้มีรูปแบบพื้นฐาน แบบจำลองสำหรับแบบฟอร์มของฉันมีลักษณะดังต่อไปนี้: public class MyModel { public string Name { get; set; } public bool Remember { get; set; } } ในรูปแบบของฉันฉันมี HTML ต่อไปนี้ <input id="Name" name="Name" type="text" value="@Model.Name" /> <input id="Remember" name="Remember" type="checkbox" value="@Model.Remember" /> <label for="Remember"> Remember Me?</label> เมื่อฉันโพสต์แบบฟอร์มค่าจดจำในโมเดลจะเป็นเท็จเสมอ อย่างไรก็ตามคุณสมบัติ Name ในโมเดลมีค่า ฉันได้ทดสอบโดยตั้งค่าเบรกพอยต์ดังต่อไปนี้: [HttpPost] public …
122 c#  asp.net-mvc-4 

6
C # Regex สำหรับ Guid
ฉันต้องการแยกวิเคราะห์สตริงและเพิ่มเครื่องหมายคำพูดเดี่ยวรอบ ๆ ค่า Guid แต่ละค่า ฉันคิดว่าฉันสามารถใช้ Regex เพื่อทำสิ่งนี้ได้ แต่ฉันไม่ใช่กูรู Regex มี Regex ที่ดีที่จะใช้ระบุ Guid หรือไม่? คำถามที่สองของฉันคือเมื่อฉันพบ regex ที่ถูกต้องฉันคิดว่าฉันจะใช้Regex.Replace(String, String, MatchEvaluator)แต่ฉันไม่ค่อยแน่ใจเกี่ยวกับไวยากรณ์ อาจจะชอบ: return Regex.Replace(stringToFindMatch, GuidRegex, match => { return string.Format("'{0}'", match.Groups[0].ToString()); }); สตริงที่ฉันพยายามแยกวิเคราะห์อาจมีลักษณะดังนี้: "SELECT passwordco0_.PASSWORD_CONFIG_ID เป็น PASSWORD1_46_0_, FROM PASSWORD_CONFIG passwordco0_ WHERE passwordco0_.PASSWORD_CONFIG_ID = baf04077-a3c0-454b-ac6f-9fec00b8e170; @ p0 = baf3f77445
122 c#  regex 



10
ฉันจะตรวจสอบได้อย่างไรว่าคุณสมบัติมีอยู่ในประเภทที่ไม่ระบุตัวตนแบบไดนามิกใน c #
ฉันมีอ็อบเจ็กต์ประเภทไม่ระบุตัวตนที่ฉันได้รับเป็นไดนามิกจากวิธีการที่ฉันต้องการตรวจสอบคุณสมบัติที่มีอยู่ในอ็อบเจ็กต์นั้น .... var settings = new { Filename="temp.txt", Size=10 } ... function void Settings(dynamic settings) { var exists = IsSettingExist(settings,"Filename") } ฉันจะใช้ IsSettingExist ได้อย่างไร


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