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

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

16
จะตรวจสอบว่ามีการตั้งค่าสถานะของชุดค่าสถานะใด ๆ ได้อย่างไร
สมมติว่าฉันมี enum นี้: [Flags] enum Letters { A = 1, B = 2, C = 4, AB = A | B, All = A | B | C, } หากต้องการตรวจสอบว่าABมีการตั้งค่าตัวอย่างฉันสามารถทำสิ่งนี้: if((letter & Letters.AB) == Letters.AB) มีวิธีที่ง่ายกว่าหรือไม่ในการตรวจสอบว่ามีการตั้งค่าสถานะใด ๆ ของค่าคงที่รวมกันมากกว่าค่าต่อไปนี้หรือไม่? if((letter & Letters.A) == Letters.A || (letter & Letters.B) == Letters.B) ตัวอย่างเช่นคุณสามารถแลกเปลี่ยน&กับบางสิ่ง? …
180 c#  enums  flags 

12
วิธีที่ง่ายที่สุดในการเปรียบเทียบอาร์เรย์ใน C #
ใน Java Arrays.equals()อนุญาตให้เปรียบเทียบเนื้อหาของสองอาร์เรย์พื้นฐานได้อย่างง่ายดาย (มีการโหลดเกินสำหรับประเภทพื้นฐานทั้งหมด) มีสิ่งนั้นใน C # หรือไม่ มีวิธี "วิเศษ" ในการเปรียบเทียบเนื้อหาของสองอาร์เรย์ใน C # หรือไม่
180 c#  .net  arrays  compare 

6
คุณจะได้รับความกว้างและความสูงของอาร์เรย์หลายมิติได้อย่างไร
ฉันมีอาร์เรย์ที่กำหนด: int [,] ary; // ... int nArea = ary.Length; // x*y or total area ทั้งหมดนี้เป็นเรื่องดีและดี แต่ฉันจำเป็นต้องรู้ว่าอาร์เรย์นี้มีความกว้างxและyขนาดแยกกันอย่างไร คือary.Lengthอาจส่งคืน 12 - แต่นั่นหมายความว่าอาร์เรย์มีความสูง 4 และ 3 กว้างหรือ 6 สูงและ 2 กว้าง? ฉันจะดึงข้อมูลนี้ได้อย่างไร

5
Async กำลังรอการเลือก linq
ฉันต้องการแก้ไขโปรแกรมที่มีอยู่และมันมีรหัสต่อไปนี้: var inputs = events.Select(async ev => await ProcessEventAsync(ev)) .Select(t => t.Result) .Where(i => i != null) .ToList(); แต่สิ่งนี้ดูแปลกสำหรับฉันมากก่อนอื่นให้ใช้asyncและawaitเลือก ตามคำตอบของสตีเฟ่นเคลียร์ฉันควรจะทิ้งมันไว้ จากนั้นวินาทีSelectที่เลือกผลลัพธ์ นี่ไม่ได้หมายความว่างานนั้นไม่ได้เป็นแบบอะซิงก์เลยและดำเนินการแบบซิงโครนัส (ไม่ต้องใช้ความพยายามมากนัก) หรืองานนั้นจะทำงานแบบอะซิงโครนัส ฉันควรเขียนโค้ดด้านบนเหมือนดังต่อไปนี้ตามคำตอบอื่นโดย Stephen Cleary : var tasks = await Task.WhenAll(events.Select(ev => ProcessEventAsync(ev))); var inputs = tasks.Where(result => result != null).ToList(); และมันเหมือนกันหมดอย่างนี้หรือไม่? var inputs = (await Task.WhenAll(events.Select(ev => …
180 c#  linq  asynchronous 

15
วิธีการยกเลิกการย้ายข้อมูลใน ASP.NET Core ด้วย EF Core
เมื่อฉันรันPM> Remove-Migration -context BloggingContextใน VS2015 ด้วยโครงการ ASP.NET Core โดยใช้ EF Core ฉันได้รับข้อผิดพลาดดังต่อไปนี้: System.InvalidOperationException: The migration '20160703192724_MyFirstMigration' has already been applied to the database. Unapply it and try again. If the migration has been applied to other databases, consider reverting its changes using a new migration. at Microsoft.EntityFrameworkCore.Migrations.Design.MigrationsScaffolder.RemoveMigration(String projectDir, String rootNamespace, …

8
.NET: วิธีที่ง่ายที่สุดในการส่ง POST พร้อมข้อมูลและตอบกลับการอ่าน
ด้วยความประหลาดใจของฉันฉันไม่สามารถทำอะไรง่าย ๆ อย่างนี้จากสิ่งที่ฉันสามารถบอกได้ใน. NET BCL: byte[] response = Http.Post ( url: "http://dork.com/service", contentType: "application/x-www-form-urlencoded", contentLength: 32, content: "home=Cosby&favorite+flavor=flies" ); รหัสนี้สมมุติข้างต้นทำให้ HTTP POST กับข้อมูลและผลตอบแทนการตอบสนองจากที่วิธีการในระดับคงที่PostHttp เมื่อเราถูกทิ้งไว้โดยไม่มีอะไรง่าย ๆ นี่เป็นทางออกที่ดีที่สุดต่อไปคืออะไร? ฉันจะส่ง HTTP POST พร้อมข้อมูลและรับเนื้อหาของการตอบกลับได้อย่างไร

9
การทำให้รูปแบบรหัส InvokeRequired เป็นแบบอัตโนมัติ
ฉันได้รับรู้ถึงความเจ็บปวดอย่างถี่ถ้วนว่าบ่อยครั้งที่เราต้องเขียนรูปแบบโค้ดต่อไปนี้ในโค้ด GUI ที่ควบคุมโดยเหตุการณ์ private void DoGUISwitch() { // cruisin for a bruisin' through exception city object1.Visible = true; object2.Visible = false; } กลายเป็น: private void DoGUISwitch() { if (object1.InvokeRequired) { object1.Invoke(new MethodInvoker(() => { DoGUISwitch(); })); } else { object1.Visible = true; object2.Visible = false; } } นี่เป็นรูปแบบที่น่าอึดอัดใจใน C # …


5
วิธีการตั้งค่าการหมดเวลาของเซสชันใน web.config
ฉันพยายามอย่างหนัก แต่ไม่สามารถหาวิธีแก้ปัญหาเกี่ยวกับวิธีตั้งค่าการหมดเวลาเซสชันสำหรับเซสชันที่อยู่ระหว่างดำเนินการสำหรับเว็บแอปพลิเคชัน ASP.Net ฉันใช้ VSTS 2008 + .Net 3.5 + C # นี่คือสิ่งที่ฉันเขียนด้วยตัวเองเพื่อตั้งค่าการหมดเวลาเป็น 1 นาทีถูกต้องหรือไม่ ฉันเขียนภายใต้ส่วน system.web ใน web.config <sessionState timeout="1" mode="InProc" />

6
App.config ใน C # .NET คืออะไร วิธีใช้งาน
ฉันได้ทำโครงการใน C # .NET โดยที่ไฟล์ฐานข้อมูลของฉันเป็นสมุดงาน Excel เนื่องจากตำแหน่งของสตริงการเชื่อมต่อนั้นมีการเข้ารหัสอย่างหนักในการเข้ารหัสของฉันจึงไม่มีปัญหาในการติดตั้งในระบบของฉัน แต่สำหรับระบบอื่น ๆ ที่มี มีวิธีให้ผู้ใช้กำหนดเส้นทางหลังจากการติดตั้งแอปพลิเคชันเสร็จสมบูรณ์หรือไม่? คำตอบที่ฉันได้รับคือ "ใช้ App.Config" ... ทุกคนสามารถบอกได้ว่า App.config นี้คืออะไรและจะใช้งานอย่างไรในบริบทของฉันที่นี่
179 c#  .net  app-config 

5
จะ Dispose () ถูกเรียกใช้ใน statement ที่ใช้กับวัตถุ null หรือไม่?
มีความปลอดภัยในการใช้usingคำสั่งบนวัตถุ (อาจ) null หรือไม่? ลองพิจารณาตัวอย่างต่อไปนี้: class Test { IDisposable GetObject(string name) { // returns null if not found } void DoSomething() { using (IDisposable x = GetObject("invalid name")) { if (x != null) { // etc... } } } } มันรับประกันว่าDisposeจะถูกเรียกเฉพาะในกรณีที่วัตถุไม่เป็นโมฆะและฉันจะไม่ได้รับ a NullReferenceException?
179 c#  idisposable  using 

10
วิธีที่ดีกว่าในการร่ายวัตถุไปยัง int
นี่อาจเป็นเรื่องเล็กน้อย แต่ฉันไม่สามารถคิดวิธีที่ดีกว่าที่จะทำ ฉันมีวัตถุ COM ที่คืนค่าตัวแปรซึ่งกลายเป็นวัตถุใน C # วิธีเดียวที่ฉันจะได้รับสิ่งนี้คือ int int test = int.Parse(string.Format("{0}", myobject)) มีวิธีที่สะอาดกว่านี้หรือไม่? ขอบคุณ
179 c#  interop 

9
การสร้างไฟล์เก็บถาวร ZIP ในหน่วยความจำโดยใช้ System.IO.Compression
ฉันกำลังพยายามสร้างไฟล์เก็บถาวร ZIP ด้วยไฟล์ข้อความตัวอย่างง่าย ๆ โดยใช้ไฟล์MemoryStreamดังนี้: using (var memoryStream = new MemoryStream()) using (var archive = new ZipArchive(memoryStream , ZipArchiveMode.Create)) { var demoFile = archive.CreateEntry("foo.txt"); using (var entryStream = demoFile.Open()) using (var streamWriter = new StreamWriter(entryStream)) { streamWriter.Write("Bar!"); } using (var fileStream = new FileStream(@"C:\Temp\test.zip", FileMode.Create)) { stream.CopyTo(fileStream); } } หากฉันเรียกใช้รหัสนี้ไฟล์เก็บถาวรจะถูกสร้างขึ้นเอง …
179 c#  .net  zip  compression  ziparchive 

11
แปลงรายการ <DerivedClass> เป็น List <BaseClass>
ในขณะที่เราสามารถสืบทอดจากคลาสพื้นฐาน / อินเทอร์เฟซทำไมเราไม่ประกาศList&lt;&gt; โดยใช้คลาส / อินเทอร์เฟซเดียวกัน interface A { } class B : A { } class C : B { } class Test { static void Main(string[] args) { A a = new C(); // OK List&lt;A&gt; listOfA = new List&lt;C&gt;(); // compiler Error } } มีวิธีแก้ไขไหม?

14
รหัสผ่านแฮและเกลือใน C #
ฉันเพิ่งจะผ่านหนึ่งในบทความของ DavidHayden เมื่อ Hashing รหัสผ่านของผู้ใช้ จริงๆฉันไม่สามารถรับสิ่งที่เขาพยายามบรรลุ นี่คือรหัสของเขา: private static string CreateSalt(int size) { //Generate a cryptographic random number. RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider(); byte[] buff = new byte[size]; rng.GetBytes(buff); // Return a Base64 string representation of the random number. return Convert.ToBase64String(buff); } private static string CreatePasswordHash(string pwd, string salt) { …
178 c#  hash  passwords  salt 

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