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

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

5
Expression.Quote () ทำอะไร Expression.Constant () ไม่ได้แล้ว
หมายเหตุ: ฉันทราบถึงคำถามก่อนหน้านี้ " อะไรคือจุดประสงค์ของวิธี Expression.Quote ของ LINQ? ”แต่ถ้าคุณอ่านคุณจะเห็นว่ามันไม่ตอบคำถามของฉัน ฉันเข้าใจจุดประสงค์ที่ระบุไว้Expression.Quote()คืออะไร อย่างไรก็ตามExpression.Constant()สามารถใช้เพื่อวัตถุประสงค์เดียวกันได้ (นอกเหนือจากวัตถุประสงค์ทั้งหมดที่Expression.Constant()ใช้สำหรับ) ดังนั้นฉันไม่เข้าใจว่าทำไมจึงExpression.Quote()จำเป็นต้องมี เพื่อแสดงให้เห็นสิ่งนี้ฉันได้เขียนตัวอย่างสั้น ๆ ที่ซึ่งปกติจะใช้Quote(ดูบรรทัดที่มีเครื่องหมายอัศเจรีย์) แต่ฉันใช้Constantแทนและมันก็ทำงานได้ดีพอ ๆ กัน: string[] array = { "one", "two", "three" }; // This example constructs an expression tree equivalent to the lambda: // str => str.AsQueryable().Any(ch => ch == 'e') Expression<Func<char, bool>> innerLambda = ch …


4
เหตุใดผลตอบแทนจึงไม่ปรากฏในบล็อกลองด้วยการจับ
ต่อไปนี้ไม่เป็นไร: try { Console.WriteLine("Before"); yield return 1; Console.WriteLine("After"); } finally { Console.WriteLine("Done"); } finallyบล็อกทำงานเมื่อสิ่งที่ทั้งได้เสร็จสิ้นการดำเนินการ ( IEnumerator<T>การสนับสนุนIDisposableเพื่อให้วิธีการที่จะให้แน่ใจว่านี้แม้ในขณะที่นับถูกยกเลิกก่อนที่มันจะเสร็จสิ้น) แต่ไม่เป็นไร: try { Console.WriteLine("Before"); yield return 1; // error CS1626: Cannot yield a value in the body of a try block with a catch clause Console.WriteLine("After"); } catch (Exception e) { Console.WriteLine(e.Message); } สมมติว่า …
98 c#  exception  yield 

6
LINQ ใช้ Max () เพื่อเลือกแถวเดียว
ฉันใช้ LINQ บน IQueryable ที่ส่งคืนจาก NHibernate และฉันต้องการเลือกแถวที่มีค่าสูงสุดในสองฟิลด์ ฉันได้ทำให้บิตที่ฉันยึดติดง่ายขึ้น ฉันต้องการเลือกหนึ่งแถวจากตารางของฉันด้วยค่าสูงสุดในหนึ่งฟิลด์ var table = new Table { new Row(id: 1, status: 10), new Row(id: 2, status: 20) } from u in table group u by 1 into g where u.Status == g.Max(u => u.Status) select u สิ่งนี้ไม่ถูกต้อง แต่ฉันไม่สามารถหาแบบฟอร์มที่ถูกต้องได้ BTW สิ่งที่ฉันพยายามจะบรรลุคือประมาณนี้: var clientAddress …
98 c#  .net  linq 

3
ใน C # อะไรคือความแตกต่างระหว่างตัวทำลายและเมธอด Finalize ในคลาส?
อะไรคือความแตกต่างระหว่างตัวทำลายและเมธอด Finalize ในคลาส ฉันเพิ่งค้นพบว่า Visual Studio 2008 พิจารณาตัวทำลายที่มีความหมายเหมือนกันกับวิธี Finalize ซึ่งหมายความว่า Visual Studio จะไม่ยอมให้คุณกำหนดทั้งสองวิธีพร้อมกันในคลาส ตัวอย่างเช่นส่วนของรหัสต่อไปนี้: class TestFinalize { ~TestFinalize() { Finalize(); } public bool Finalize() { return true; } } ให้ข้อผิดพลาดต่อไปนี้ในการเรียกให้เสร็จสิ้นในตัวทำลาย: การเรียกไม่ชัดเจนระหว่างวิธีการหรือคุณสมบัติต่อไปนี้: 'TestFinalize. ~ TestFinalize ()' และ 'TestFinalize.Finalize ()' และหากมีการแสดงความคิดเห็นการเรียกไปยัง Finalize จะทำให้เกิดข้อผิดพลาดดังต่อไปนี้: พิมพ์ 'ManagementConcepts.Service.TestFinalize' แล้วกำหนดสมาชิกที่เรียกว่า 'Finalize' ด้วยประเภทพารามิเตอร์เดียวกัน

9
วิธีการนำเข้า JsonConvert ในแอปพลิเคชัน C #
ฉันสร้างโครงการห้องสมุด C # โครงการมีบรรทัดนี้ในคลาสเดียว: JsonConvert.SerializeObject(objectList); ฉันได้รับข้อผิดพลาดว่า ไม่มีชื่อ JsonConvert ในบริบทปัจจุบัน เพื่อแก้ไขปัญหานี้ฉันได้เพิ่มSystem.ServiceModel.Web.dllข้อมูลอ้างอิง แต่ไม่มีโชค ฉันจะแก้ไขข้อผิดพลาดนี้ได้อย่างไร?
98 c#  json.net 

9
ASP.NET Core Web API Authentication
ฉันกำลังดิ้นรนกับวิธีตั้งค่าการรับรองความถูกต้องในบริการเว็บของฉัน บริการนี้สร้างด้วย API เว็บ ASP.NET Core ไคลเอนต์ทั้งหมดของฉัน (แอปพลิเคชัน WPF) ควรใช้ข้อมูลประจำตัวเดียวกันเพื่อเรียกใช้การดำเนินการบริการเว็บ หลังจากการวิจัยบางอย่างฉันได้พบกับการรับรองความถูกต้องขั้นพื้นฐาน - ส่งชื่อผู้ใช้และรหัสผ่านในส่วนหัวของคำขอ HTTP แต่หลังจากการวิจัยหลายชั่วโมงสำหรับฉันดูเหมือนว่าการรับรองความถูกต้องขั้นพื้นฐานไม่ใช่วิธีที่จะไปใน ASP.NET Core ทรัพยากรส่วนใหญ่ที่ฉันพบคือการใช้การตรวจสอบสิทธิ์โดยใช้ OAuth หรือมิดเดิลแวร์อื่น ๆ แต่ดูเหมือนว่าจะมีขนาดใหญ่เกินไปสำหรับสถานการณ์ของฉันเช่นเดียวกับการใช้ส่วน Identity ของ ASP.NET Core วิธีที่ถูกต้องในการบรรลุเป้าหมายของฉันคืออะไร - การตรวจสอบความถูกต้องง่ายๆด้วยชื่อผู้ใช้และรหัสผ่านในบริการเว็บ ASP.NET Core? ขอบคุณล่วงหน้า!

11
อินพุตไม่ใช่สตริง Base-64 ที่ถูกต้องเนื่องจากมีอักขระ 64 ที่ไม่ใช่ฐาน
ฉันมีบริการ REST ที่อ่านไฟล์และส่งไปยังแอปพลิเคชันคอนโซลอื่นหลังจากแปลงเป็นอาร์เรย์ไบต์แล้วเป็นสตริง Base64 ส่วนนี้ใช้งานได้ แต่เมื่อได้รับสตรีมเดียวกันที่แอปพลิเคชันจะได้รับการจัดการและไม่ใช่สตริง Base64 ที่ถูกต้องอีกต่อไป มีการนำตัวละครขยะบางตัวเข้าสู่สตรีม ข้อยกเว้นที่ได้รับเมื่อแปลงสตรีมกลับเป็นไบต์คือ อินพุตไม่ใช่สตริง Base-64 ที่ถูกต้องเนื่องจากมีอักขระที่ไม่ใช่ฐาน 64 อักขระช่องว่างภายในมากกว่าสองอักขระหรืออักขระช่องว่างที่ไม่ใช่สีขาว ที่บริการ: [WebGet(UriTemplate = "ReadFile/Convert", ResponseFormat = WebMessageFormat.Json)] public string ExportToExcel() { string filetoexport = "D:\\SomeFile.xls"; byte[] data = File.ReadAllBytes(filetoexport); var s = Convert.ToBase64String(data); return s; } ที่ใบสมัคร: var client = new RestClient("http://localhost:56877/User/"); var request = …
98 c#  file-io  base64 

6
วิธีสร้างฟังก์ชันอินไลน์ใน C #
ฉันใช้ Linq To XML new XElement("Prefix", Prefix == null ? "" : Prefix) แต่ฉันต้องการคำนวณค่านำหน้าก่อนที่จะเพิ่มลงใน xml เช่นการกำจัดช่องว่างตัวอักษรพิเศษการคำนวณบางอย่างเป็นต้น ฉันไม่ต้องการสร้างฟังก์ชันเพราะฟังก์ชันนี้จะไม่ช่วยในส่วนอื่น ๆ ของโปรแกรมของฉัน แต่สิ่งนี้มีวิธีใดบ้างในการสร้างฟังก์ชันอินไลน์ ??
98 c#  .net 

2
ตรงข้ามของ String แยกด้วยตัวคั่น (.net)
มีวิธีทำตรงข้ามString.Splitใน. Net หรือไม่? นั่นคือการรวมองค์ประกอบทั้งหมดของอาร์เรย์กับตัวคั่นที่กำหนด การรับ["a", "b", "c"]และการให้"a b c"(โดยมีตัวคั่น" ") UPDATE:ฉันพบคำตอบด้วยตัวเอง มันเป็นString.Joinวิธีการ
98 c#  .net  arrays  string 

8
.NET: กำหนดประเภทของคลาส“ this” ในวิธีการคงที่
ในวิธีที่ไม่คงที่ฉันสามารถใช้this.GetType()และมันจะส่งคืนไฟล์Type. ฉันจะทำให้เหมือนกันTypeในวิธีการคงที่ได้อย่างไร แน่นอนฉันไม่สามารถเขียนได้typeof(ThisTypeName)เพราะThisTypeNameเป็นที่รู้จักในรันไทม์เท่านั้น ขอบคุณ!

3
แสดงลำดับชั้นควบคุมในตัวออกแบบ WinForms
ลูกค้ารายหนึ่งของเรามีแอปพลิเคชัน WinForms แบบเก่าซึ่งมีแบบฟอร์มที่มีการควบคุมจำนวนมาก ตัวควบคุมเหล่านี้บางส่วนมีลำดับชั้นที่ลึกและทำให้ยากที่จะเลือกในตัวออกแบบ ฉันต้องเข้าใจลำดับชั้นนี้เพื่อทำการแก้ไขแอปพลิเคชันเพื่อแก้ไขข้อบกพร่องบางอย่าง มีวิธีดูลำดับชั้นนี้ชัดเจนหรือไม่? ตัวอย่างเช่นมีสิ่งที่สามารถใช้ได้ที่คล้ายกับสิ่งที่สามารถมองเห็นได้ในซอร์สไฟล์. aspx เมื่อคุณมีเบรดครัมบ์ของตำแหน่งที่คุณอยู่ในลำดับชั้น HTML (HTML> Body> div> ฯลฯ ) หรือไม่ หรือบางอย่างที่เป็นภาพมากกว่านี้?

14
วิธี TryParse สำหรับค่า Enum
ฉันต้องการเขียนฟังก์ชันที่สามารถตรวจสอบค่าที่กำหนด (ส่งผ่านเป็นสตริง) เทียบกับค่าที่เป็นไปได้ของenumไฟล์. ในกรณีของการจับคู่ควรส่งคืนอินสแตนซ์ enum มิฉะนั้นควรส่งคืนค่าเริ่มต้น ฟังก์ชันต้องไม่ใช้ภายในtry/ catchซึ่งไม่รวมการใช้Enum.Parseซึ่งจะแสดงข้อยกเว้นเมื่อได้รับอาร์กิวเมนต์ที่ไม่ถูกต้อง ฉันต้องการใช้บางอย่างตามบรรทัดของTryParseฟังก์ชันเพื่อใช้สิ่งนี้: public static TEnum ToEnum<TEnum>(this string strEnumValue, TEnum defaultValue) { object enumValue; if (!TryParse (typeof (TEnum), strEnumValue, out enumValue)) { return defaultValue; } return (TEnum) enumValue; }
98 c#  enums 

5
ฉันจะสร้าง / แก้ไขไฟล์ Manifest ได้อย่างไร?
ฉันมีรหัสนี้จากเพื่อนร่วมงาน (อาจได้มาจากเว็บที่ไหนสักแห่ง) แต่เขาไม่อยู่ในช่วงพักร้อนและฉันต้องเพิ่มรหัสนี้ในไฟล์รายการ <?xml version="1.0" encoding="utf-8" ?> <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <assemblyIdentity version="1.0.0.0" name="MyApplication" /> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> </requestedPrivileges> </security> </trustInfo> </asmv1:assembly> ฉันค่อนข้างใหม่สำหรับสิ่งนี้ดังนั้นจึงขอขอบคุณความช่วยเหลือใด ๆ ขอบคุณ ฉันใช้ Visual Studio 2010

5
อะไรคือความแตกต่างระหว่างอินเตอร์เฟส IComparable และ IEquatable?
อินเทอร์เฟซทั้งสองดูเหมือนจะเปรียบเทียบวัตถุเพื่อความเท่าเทียมกันดังนั้นความแตกต่างที่สำคัญระหว่างพวกเขาคืออะไร?

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