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

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

8
คลาสที่ไม่ระบุชื่อสามารถใช้อินเตอร์เฟสได้หรือไม่
เป็นไปได้ไหมที่จะมีประเภทที่ไม่ระบุตัวตนใช้งานอินเตอร์เฟส ฉันมีรหัสชิ้นหนึ่งที่ฉันต้องการใช้งาน แต่ไม่รู้ว่าจะทำอย่างไร ฉันมีสองคำตอบที่อาจปฏิเสธหรือสร้างคลาสที่ใช้ส่วนต่อประสานสร้างอินสแตนซ์ใหม่ของสิ่งนั้น มันไม่เหมาะจริงๆ แต่ฉันสงสัยว่าถ้ามีกลไกในการสร้างคลาสไดนามิกที่บางบนอินเทอร์เฟซซึ่งจะทำให้ง่ายขึ้น public interface DummyInterface { string A { get; } string B { get; } } public class DummySource { public string A { get; set; } public string C { get; set; } public string D { get; set; } } public class Test …


10
แปลงจำนวนเต็มเป็นเลขฐานสิบหกและกลับมาอีกครั้ง
ฉันจะแปลงสิ่งต่อไปนี้ได้อย่างไร? 2934 (จำนวนเต็ม) ถึง B76 (ฐานสิบหก) ให้ฉันอธิบายสิ่งที่ฉันพยายามจะทำ ฉันมี ID ผู้ใช้ในฐานข้อมูลของฉันที่เก็บไว้เป็นจำนวนเต็ม แทนที่จะให้ผู้ใช้อ้างอิง ID ของพวกเขาฉันต้องการให้พวกเขาใช้ค่าฐานสิบหก สาเหตุหลักคือเพราะมันสั้นกว่า ดังนั้นฉันต้องเปลี่ยนจากเลขจำนวนเต็มเป็นฐานสิบหก แต่ฉันต้องเปลี่ยนจากฐานสิบหกเป็นจำนวนเต็มด้วย มีวิธีง่าย ๆ ใน C # หรือไม่
461 c#  hex  type-conversion 

30
วิธีการลบส่วนเวลาของวันที่ใน C # ในวัตถุ DateTime เท่านั้น?
ฉันจำเป็นต้องเอาส่วนที่เป็นเวลาของวันเวลาหรืออาจจะมีวันที่ในรูปแบบต่อไปนี้ในรูปแบบที่ไม่ได้อยู่ในรูปแบบของobjectstring 06/26/2009 00:00:00:000 ฉันไม่สามารถใช้stringวิธีการแปลงใด ๆ ได้เนื่องจากฉันต้องการวันที่ในobjectรูปแบบ ฉันพยายามแปลงDateTimea เป็นครั้งแรกให้stringลบวันที่ที่ระบุเวลาออกจาก แต่จะเพิ่ม12:00:00 AMทันทีที่ฉันแปลงกลับเป็นDateTime objectกลับมาอีกครั้ง
458 c#  datetime 

9
เข้าร่วม / ที่ไหนด้วย LINQ และ Lambda
ฉันมีปัญหากับแบบสอบถามที่เขียนใน LINQ และ Lambda จนถึงตอนนี้ฉันได้รับข้อผิดพลาดมากมายที่นี่เป็นรหัสของฉัน: int id = 1; var query = database.Posts.Join(database.Post_Metas, post => database.Posts.Where(x => x.ID == id), meta => database.Post_Metas.Where(x => x.Post_ID == id), (post, meta) => new { Post = post, Meta = meta }); ฉันใหม่กับการใช้ LINQ ดังนั้นฉันไม่แน่ใจว่าแบบสอบถามนี้ถูกต้องหรือไม่
458 c#  linq  join  lambda 


27
จะลบตัวละครที่ผิดกฎหมายออกจากเส้นทางและชื่อไฟล์ได้อย่างไร
ฉันต้องการวิธีที่แข็งแกร่งและเรียบง่ายในการลบพา ธ และอักขระไฟล์ที่ผิดกฎหมายออกจากสตริงอย่างง่าย ฉันใช้โค้ดด้านล่าง แต่ดูเหมือนจะไม่ทำอะไรเลยฉันหายไปอะไร using System; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string illegal = "\"M<>\"\\a/ry/ h**ad:>> a\\/:*?\"<>| li*tt|le|| la\"mb.?"; illegal = illegal.Trim(Path.GetInvalidFileNameChars()); illegal = illegal.Trim(Path.GetInvalidPathChars()); Console.WriteLine(illegal); Console.ReadLine(); } } }
456 c#  string  path  directory 


29
วิธีที่ดีที่สุดในการเขียนตรรกะลองใหม่?
บางครั้งฉันจำเป็นต้องลองทำการผ่าตัดซ้ำหลายครั้งก่อนที่จะยอมแพ้ รหัสของฉันเหมือน: int retries = 3; while(true) { try { DoSomething(); break; // success! } catch { if(--retries == 0) throw; else Thread.Sleep(1000); } } ฉันต้องการเขียนใหม่ในฟังก์ชันลองใหม่ทั่วไปเช่น: TryThreeTimes(DoSomething); เป็นไปได้ใน C #? รหัสสำหรับTryThreeTimes()วิธีการคืออะไร?
455 c#  .net 

16
ฉันจะวิเคราะห์ JSON ด้วย C # ได้อย่างไร
ฉันมีรหัสต่อไปนี้: var user = (Dictionary<string, object>)serializer.DeserializeObject(responsecontent); อินพุตในresponsecontentคือ JSON แต่แยกวิเคราะห์ไม่ถูกต้องในวัตถุ ฉันจะกำจัดมันออกไปได้อย่างไร?

9
ความแตกต่างระหว่างอาร์เรย์หลายมิติและอาร์เรย์ของอาร์เรย์ใน C # คืออะไร
อะไรคือความแตกต่างระหว่างอาร์เรย์หลายมิติdouble[,]และอาร์เรย์ของอาร์เรย์double[][]ใน C # หากมีความแตกต่างอะไรคือการใช้ที่ดีที่สุดสำหรับแต่ละคน?

5
หากสตริงไม่เปลี่ยนรูปใน. NET แล้วเหตุใด Substring จึงใช้เวลา O (n)
เนื่องจากสตริงนั้นไม่เปลี่ยนแปลงใน. NET ฉันจึงสงสัยว่าทำไมพวกเขาจึงถูกออกแบบมาอย่างนั้น string.Substring()ใช้เวลา O ( substring.Length) แทนO(1)? เช่นอะไรคือการแลกเปลี่ยนถ้ามี?

26
วิธีลบองค์ประกอบออกจากรายการทั่วไปในขณะที่วนซ้ำมัน?
ฉันกำลังมองหารูปแบบที่ดีกว่าสำหรับการทำงานกับรายการองค์ประกอบที่ต้องดำเนินการแต่ละรายการและจากนั้นผลลัพธ์จะถูกลบออกจากรายการ คุณไม่สามารถใช้.Remove(element)ภายในforeach (var element in X)(เพราะมันจะส่งผลในCollection was modified; enumeration operation may not execute.ข้อยกเว้น) ... คุณยังไม่สามารถใช้for (int i = 0; i < elements.Count(); i++)และเพราะมันรบกวนตำแหน่งปัจจุบันของคุณในการเก็บรวบรวมเทียบกับ.RemoveAt(i)i มีวิธีที่สง่างามในการทำเช่นนี้หรือไม่?
451 c#  list  loops  generics  key-value 

30
ทำตัวอักษรตัวแรกของตัวพิมพ์ใหญ่ของสตริง (ด้วยประสิทธิภาพสูงสุด)
ฉันมีDetailsViewด้วยTextBox และฉันต้องการข้อมูลของท่านได้รับการบันทึกไว้เสมอกับเมืองหลวงแห่งแรกในจดหมาย ตัวอย่าง: "red" --> "Red" "red house" --> " Red house" ฉันจะบรรลุประสิทธิภาพสูงสุดนี้ได้อย่างไร หมายเหตุ : จากคำตอบและความคิดเห็นภายใต้คำตอบหลายคนคิดว่าสิ่งนี้กำลังถามเกี่ยวกับการใช้อักษรตัวพิมพ์ใหญ่ทั้งหมดในสตริง เช่น=> Red House มันไม่ได้ แต่ถ้านั่นคือสิ่งที่คุณต้องการให้มองหาหนึ่งในคำตอบที่ใช้TextInfoเป็นToTitleCaseวิธีการ (หมายเหตุ: คำตอบเหล่านั้นไม่ถูกต้องสำหรับคำถามที่ถามจริง) ดูTextInfo.ToTitleCase docสำหรับ caveats (ไม่ได้สัมผัสคำที่มีตัวพิมพ์ใหญ่ทั้งหมด - ถือว่าเป็นตัวย่อซึ่งอาจเป็นตัวพิมพ์เล็กในคำกลางที่ "ไม่ควร" ลดลงเช่น "McDonald" => "Mcdonald"; ไม่รับประกันว่าจะจัดการกฎการใช้ตัวพิมพ์เล็กทั้งหมดสำหรับวัฒนธรรมโดยละเอียด) หมายเหตุ : คำถามที่คลุมเครือว่าตัวอักษรหลังแรกควรถูกบังคับให้พิมพ์เล็กหรือไม่ คำตอบที่ได้รับการยอมรับสมมติว่าเฉพาะอักษรตัวแรกควรจะมีการเปลี่ยนแปลง หากคุณต้องการที่จะบังคับตัวอักษรทั้งหมดในสตริงยกเว้นคนแรกจะเป็นกรณีที่ต่ำกว่ามองหาคำตอบที่มีToLowerและไม่ได้มี ToTitleCase
448 c#  performance 

25
เหตุใด C # ไม่อนุญาตให้ใช้วิธีการแบบคงที่เพื่อใช้ส่วนต่อประสาน
เหตุใด C # จึงออกแบบวิธีนี้ ตามที่ฉันเข้าใจอินเทอร์เฟซจะอธิบายพฤติกรรมเท่านั้นและมีจุดประสงค์ในการอธิบายข้อผูกพันตามสัญญาสำหรับคลาสที่ใช้อินเทอร์เฟซที่มีการใช้งานพฤติกรรมบางอย่าง หากคลาสต้องการใช้พฤติกรรมนั้นในวิธีการแชร์ทำไมถึงไม่ควรใช้ นี่คือตัวอย่างของสิ่งที่ฉันมีอยู่ในใจ: // These items will be displayed in a list on the screen. public interface IListItem { string ScreenName(); ... } public class Animal: IListItem { // All animals will be called "Animal". public static string ScreenName() { return "Animal"; } .... } public …

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