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

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

8
วิธีแฮชรหัสผ่าน
ฉันต้องการเก็บแฮชของรหัสผ่านไว้ในโทรศัพท์ แต่ไม่แน่ใจว่าต้องทำอย่างไร ดูเหมือนฉันจะพบวิธีการเข้ารหัสเท่านั้น ควรแฮชรหัสผ่านอย่างไรให้ถูกต้อง?

5
วิธีเลือกเฉพาะระเบียนที่มีวันที่สูงสุดใน LINQ
ฉันมีตาราง 'lasttraces' พร้อมช่องต่อไปนี้ Id, AccountId, Version, DownloadNo, Date ข้อมูลมีลักษณะดังนี้: 28092|15240000|1.0.7.1782|2009040004731|2009-01-20 13:10:22.000 28094|61615000|1.0.7.1782|2009040007696|2009-01-20 13:11:38.000 28095|95317000|1.0.7.1782|2009040007695|2009-01-20 13:10:18.000 28101|15240000|1.0.7.1782|2009040004740|2009-01-20 14:10:22.000 28103|61615000|1.0.7.1782|2009040007690|2009-01-20 14:11:38.000 28104|95317000|1.0.7.1782|2009040007710|2009-01-20 14:10:18.000 ฉันจะรับเฉพาะ Lasttrace ของทุก AccountId ในLINQในLINQได้อย่างไร (อันที่มีวันที่สูงสุด)
117 c#  .net  linq  linq-to-sql 

10
คุณส่งผ่านค่า enum หลายค่าใน C # ได้อย่างไร
บางครั้งเมื่ออ่านรหัส C # ของผู้อื่นฉันเห็นวิธีการที่จะยอมรับค่า enum หลายค่าในพารามิเตอร์เดียว ฉันคิดเสมอว่ามันดูเรียบร้อย แต่ไม่เคยมองเข้าไปในนั้น ตอนนี้ฉันคิดว่าฉันอาจต้องการมัน แต่ไม่รู้จะทำอย่างไร ตั้งค่าลายเซ็นวิธีการเพื่อยอมรับสิ่งนี้ ทำงานกับค่าในวิธีการ กำหนด enum เพื่อให้บรรลุสิ่งนี้ ในสถานการณ์เฉพาะของฉันฉันต้องการใช้ System.DayOfWeek ซึ่งกำหนดเป็น: [Serializable] [ComVisible(true)] public enum DayOfWeek { Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6 } ฉันต้องการส่งผ่านค่า DayOfWeek อย่างน้อยหนึ่งค่าไปยังเมธอดของฉัน ฉันจะสามารถใช้ …
117 c#  enums 

7
เหตุใด (object) 0 == (object) 0 จึงแตกต่างจาก ((object) 0) .Equals ((object) 0)?
เหตุใดนิพจน์ต่อไปนี้จึงแตกต่างกัน [1] (object)0 == (object)0 //false [2] ((object)0).Equals((object)0) // true อันที่จริงฉันสามารถเข้าใจ [1] ได้ทั้งหมดเพราะรันไทม์. NET อาจboxเป็นจำนวนเต็มและเริ่มเปรียบเทียบการอ้างอิงแทน แต่ทำไม [2] จึงแตกต่างกัน?
117 c#  .net 

4
สร้างโปรแกรมการติดตั้งสำหรับแอปพลิเคชัน C # และรวมตัวติดตั้ง. NET Framework ไว้ในการตั้งค่า
ฉันทำแอปพลิเคชัน C # ของฉันเสร็จแล้ว แต่ฉันมีปัญหาเล็กน้อย: เมื่อฉันพยายามเรียกใช้แอปพลิเคชันในพีซีเครื่องอื่นฉันจำเป็นต้องติดตั้ง. NET Framework 4.0 เสมอ มีสิ่งที่ต้องทำเพื่อให้ใช้งานได้โดยไม่ต้องติดตั้งกรอบจากอินเทอร์เน็ตหรือไม่? ฉันลองก่อนInnoSetupสำหรับแอปพลิเคชัน VB6 มาก่อน แต่ไม่แน่ใจว่าจะใช้งานได้กับ. NET 4.0 หรือไม่! ความคิดใด ๆ ?

6
วิธีการตรวจจับข้อยกเว้นการหมดเวลาของ SQLServer
ฉันจำเป็นต้องจับข้อยกเว้นการหมดเวลาของเซิร์ฟเวอร์ SQL โดยเฉพาะเพื่อให้สามารถจัดการได้แตกต่างกัน ฉันรู้ว่าฉันสามารถจับ SqlException แล้วตรวจสอบว่าสตริงข้อความมี "หมดเวลา" หรือไม่ แต่สงสัยว่ามีวิธีที่ดีกว่านี้หรือไม่ try { //some code } catch (SqlException ex) { if (ex.Message.Contains("Timeout")) { //handle timeout } else { throw; } }

15
แนวทางปฏิบัติที่ดีที่สุดสำหรับการจัดการข้อยกเว้นใน Java หรือ C # [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันกำลังตัดสินใจว่าจะจัดการข้อยกเว้นในแอปพลิเคชันของฉันอย่างไร มากถ้าปัญหาของฉันเกี่ยวกับข้อยกเว้นมาจาก 1) การเข้าถึงข้อมูลผ่านบริการระยะไกลหรือ 2) การยกเลิกการกำหนดค่าออบเจ็กต์ JSON น่าเสียดายที่ฉันไม่สามารถรับประกันความสำเร็จสำหรับงานเหล่านี้ได้ (ตัดการเชื่อมต่อเครือข่ายอ็อบเจ็กต์ JSON ที่ผิดรูปแบบซึ่งไม่สามารถควบคุมได้) ดังนั้นหากฉันพบข้อยกเว้นฉันเพียงแค่จับมันภายในฟังก์ชันและส่งคืน FALSE ไปยังผู้โทร ตรรกะของฉันคือผู้โทรทุกคนสนใจจริงๆคือถ้างานสำเร็จไม่ใช่เพราะเหตุใดจึงไม่สำเร็จ นี่คือตัวอย่างโค้ดบางส่วน (ใน JAVA) ของวิธีการทั่วไป) public boolean doSomething(Object p_somthingToDoOn) { boolean result = false; try{ // if dirty object then clean doactualStuffOnObject(p_jsonObject); //assume success (no exception thrown) …

10
ฉันจะตรวจสอบความถูกต้องของสตริงเพื่ออนุญาตเฉพาะอักขระที่เป็นตัวอักษรและตัวเลขในนั้นได้อย่างไร
ฉันจะตรวจสอบความถูกต้องของสตริงโดยใช้นิพจน์ทั่วไปเพื่ออนุญาตเฉพาะอักขระที่เป็นตัวอักษรและตัวเลขในนั้นได้อย่างไร (ฉันไม่ต้องการให้เว้นวรรคเช่นกัน)
117 c#  regex 

5
ตั้งค่าคุณสมบัติหลายรายการในรายการ <T> ForEach ()?
ให้ชั้นเรียน: class foo { public string a = ""; public int b = 0; } จากนั้นรายการทั่วไปของพวกเขา: var list = new List&lt;foo&gt;(new []{new foo(), new foo()}); หากฉันต้องการกำหนดคุณสมบัติหลายรายการภายในList&lt;T&gt; ForEach()วิธีการต่อไปนี้มีวิธีที่ง่ายกว่านี้ไหม หวังว่าฉันจะหนาขึ้น // one property - easy peasy list.ForEach(lambda =&gt; lambda.a="hello!"); // multiple properties - hmm list.ForEach(lambda =&gt; new Action(delegate() { lambda.a = "hello!"; …
117 c#  linq 

12
C # ฉันจะตรวจสอบได้อย่างไรว่ามี URL อยู่ / ถูกต้องหรือไม่?
ฉันกำลังสร้างโปรแกรมง่ายๆใน visual c # 2005 ที่ค้นหาสัญลักษณ์หุ้นบน Yahoo! การเงินดาวน์โหลดข้อมูลประวัติจากนั้นลงจุดประวัติราคาสำหรับสัญลักษณ์สัญลักษณ์ที่ระบุ ฉันทราบ URL ที่แน่นอนที่ต้องใช้ในการรับข้อมูลและหากผู้ใช้ป้อนชื่อย่อหุ้นที่มีอยู่ (หรืออย่างน้อยหนึ่งรายการพร้อมข้อมูลบน Yahoo! Finance) ก็จะทำงานได้ดีอย่างสมบูรณ์ อย่างไรก็ตามฉันมีข้อผิดพลาดรันไทม์หากผู้ใช้สร้างสัญลักษณ์แทนเนื่องจากโปรแกรมพยายามดึงข้อมูลจากหน้าเว็บที่ไม่มีอยู่จริง ฉันกำลังใช้คลาส WebClient และใช้ฟังก์ชัน DownloadString ฉันดูฟังก์ชันสมาชิกอื่น ๆ ทั้งหมดของคลาส WebClient แต่ไม่เห็นสิ่งใดที่ฉันสามารถใช้ทดสอบ URL ได้ ฉันจะทำเช่นนี้ได้อย่างไร?
117 c#  .net  url-validation 

5
linq ที่มีรายการใด ๆ ในรายการ
เมื่อใช้ linq ฉันจะเรียกข้อมูลรายการที่รายการคุณสมบัติตรงกับรายการอื่นได้อย่างไร ใช้ตัวอย่างง่ายๆนี้และรหัสเทียม: List&lt;Genres&gt; listofGenres = new List&lt;Genre&gt;() { "action", "comedy" }); var movies = _db.Movies.Where(p =&gt; p.Genres.Any() in listofGenres);
117 c#  linq 

3
#ifdef ใน C #
ฉันต้องการทำด้านล่าง แต่ใน C # แทนที่จะเป็น C ++ #ifdef _DEBUG bool bypassCheck=TRUE_OR_FALSE;//i will decide depending on what i am debugging #else bool bypassCheck = false; //NEVER bypass it #endif
117 c# 

5
มีวิธีใดในการปิด StreamWriter โดยไม่ต้องปิด BaseStream หรือไม่
ปัญหาหลักของฉันคือเมื่อusingเรียกDisposeใช้ a StreamWriterมันจะกำจัดBaseStream(ปัญหาเดียวกันกับClose) ฉันมีวิธีแก้ปัญหานี้ แต่อย่างที่คุณเห็นมันเกี่ยวข้องกับการคัดลอกสตรีม มีวิธีใดบ้างที่ทำได้โดยไม่ต้องคัดลอกสตรีม จุดประสงค์ของสิ่งนี้คือการรับเนื้อหาของสตริง (เดิมอ่านจากฐานข้อมูล) ไปยังสตรีมดังนั้นส่วนประกอบของบุคคลที่สามจึงสามารถอ่านสตรีมได้ หมายเหตุ : ฉันไม่สามารถเปลี่ยนองค์ประกอบของบุคคลที่สามได้ public System.IO.Stream CreateStream(string value) { var baseStream = new System.IO.MemoryStream(); var baseCopy = new System.IO.MemoryStream(); using (var writer = new System.IO.StreamWriter(baseStream, System.Text.Encoding.UTF8)) { writer.Write(value); writer.Flush(); baseStream.WriteTo(baseCopy); } baseCopy.Seek(0, System.IO.SeekOrigin.Begin); return baseCopy; } ใช้เป็น public void Noddy() { System.IO.Stream …
117 c#  stream  dispose 

4
สืบทอดมาจากคลาสพื้นฐานทั่วไปใช้ข้อ จำกัด และใช้อินเทอร์เฟซใน C #
นี่คือคำถามเกี่ยวกับไวยากรณ์ ฉันมีคลาสทั่วไปที่สืบทอดมาจากคลาสพื้นฐานทั่วไปและกำลังใช้ข้อ จำกัด กับพารามิเตอร์ชนิดหนึ่ง ฉันยังต้องการให้คลาสที่ได้รับมาใช้อินเทอร์เฟซ สำหรับชีวิตของฉันดูเหมือนว่าฉันไม่สามารถเข้าใจไวยากรณ์ที่ถูกต้องได้ นี่คือสิ่งที่ฉันมี: DerivedFoo&lt;T1,T2&gt; : ParentFoo&lt;T1, T2&gt; where T2 : IBar { ... } สิ่งแรกที่นึกถึงคือ: DerivedFoo&lt;T1,T2&gt; : ParentFoo&lt;T1, T2&gt; where T2 : IBar, IFoo { ... } แต่นั่นไม่ถูกต้องเนื่องจากทำให้ T2 จำเป็นต้องใช้ทั้ง IBar และ IFoo ไม่ใช่ DerivedFoo เพื่อใช้ IFoo ฉันได้ลองใช้ Googling ใช้เครื่องหมายทวิภาคอัฒภาค ฯลฯ แล้ว แต่กลับสั้นลง ฉันแน่ใจว่าคำตอบนั้นง่ายมาก

5
C # แปลงรายการ <string> เป็นพจนานุกรม <string, string>
สิ่งนี้อาจดูเหมือนเป็นเรื่องแปลกที่อยากทำ แต่ไม่สนใจสิ่งนั้นมีวิธีที่กระชับที่ดีในการแปลงรายการเป็นพจนานุกรมโดยที่คู่ค่าคีย์แต่ละคู่ในพจนานุกรมเป็นเพียงแต่ละสตริงในรายการ กล่าวคือ List = string1, string2, string3 Dictionary = string1/string1, string2/string2, string3/string3 ฉันได้ทำการค้นหามากมายและมีตัวอย่างมากมายใน Stackoverflow เพียงอย่างเดียวในการทำในทิศทางตรงกันข้าม แต่ไม่ใช่วิธีนี้ เหตุผลในการทำเช่นนี้คือฉันมีส่วนประกอบของส่วนที่สามสองส่วนและการเปลี่ยนนั้นไม่อยู่ในมือฉัน หนึ่งส่งคืนรายการที่อยู่อีเมลเป็นรายการและอีกรายการหนึ่งส่งอีเมลโดยที่พารามิเตอร์ To คือ Dictionary คีย์ของพจนานุกรมคือที่อยู่อีเมลและค่าคือชื่อจริง อย่างไรก็ตามฉันไม่ทราบชื่อจริง แต่ยังคงใช้งานได้หากคุณตั้งชื่อจริงเป็นที่อยู่อีเมลด้วย เหตุใดฉันจึงต้องการแปลงรายการเป็นพจนานุกรม มีหลายวิธีในการทำเช่นนี้ foreach loop ในรายการซึ่งเพิ่ม kvp ลงในพจนานุกรม แต่ฉันชอบโค้ดสั้น ๆ และสงสัยว่ามีคำตอบแบบบรรทัดเดียวหรือไม่
117 c#  list  dictionary 

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