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

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

2
จะเพิ่มไฟล์แนบอีเมลจากไบต์อาร์เรย์ได้อย่างไร?
ฉันมีbyte[]เนื้อหาของไฟล์ ฉันต้องการส่งเป็นไฟล์แนบโดยใช้System.Net.Mail. ฉันสังเกตเห็นว่าคลาสไฟล์แนบมี 1 โอเวอร์โหลดซึ่งรับสตรีม Attachment att = new Attachment(Stream contentStream,string name); เป็นไปได้ไหมที่จะผ่านการbyte[]โอเวอร์โหลดนี้?
110 c# 



7
เหตุใดจึงมีความแตกต่างในการตรวจสอบค่า null เทียบกับค่าใน VB.NET และ C #
ในVB.NETสิ่งนี้เกิดขึ้น: Dim x As System.Nullable(Of Decimal) = Nothing Dim y As System.Nullable(Of Decimal) = Nothing y = 5 If x <> y Then Console.WriteLine("true") Else Console.WriteLine("false") '' <-- I got this. Why? End If แต่ใน C # สิ่งนี้เกิดขึ้น: decimal? x = default(decimal?); decimal? y = default(decimal?); y = 5; if …
110 c#  vb.net  .net-4.0  null 

3
เหตุใดคอมไพลเลอร์ C # จึงไม่ใช่รหัสความผิดปกติที่เมธอดแบบคงที่เรียกใช้เมธอดอินสแตนซ์
รหัสต่อไปนี้มีวิธีการแบบคงที่Foo()เรียกวิธีการอินสแตนซ์Bar(): public sealed class Example { int count; public static void Foo( dynamic x ) { Bar(x); } void Bar( dynamic x ) { count++; } } คอมไพล์โดยไม่มีข้อผิดพลาด * แต่สร้างข้อยกเว้น runtime binder ที่รันไทม์ การลบพารามิเตอร์ไดนามิกออกเป็นวิธีการเหล่านี้ทำให้เกิดข้อผิดพลาดของคอมไพเลอร์ตามที่คาดไว้ เหตุใดการมีพารามิเตอร์แบบไดนามิกจึงอนุญาตให้คอมไพล์โค้ดได้? ReSharper ไม่แสดงว่าเป็นข้อผิดพลาดเช่นกัน แก้ไข 1: * ใน Visual Studio 2008 แก้ไข 2:เพิ่มsealedเนื่องจากเป็นไปได้ว่าคลาสย่อยอาจมีBar(...)วิธีการแบบคงที่ แม้แต่เวอร์ชันที่ปิดผนึกก็ยังคอมไพล์เมื่อไม่สามารถเรียกวิธีการอื่นนอกเหนือจากวิธีอินสแตนซ์ที่รันไทม์ได้

8
วิธีตั้งศูนย์กลางแอป WPF บนหน้าจอ
ฉันต้องการตั้งศูนย์กลางแอป WPF ของฉันเมื่อเริ่มต้นบนหน้าจอหลัก ฉันรู้ว่าฉันต้องตั้งค่า myWindow.Left และ myWindow.Top แต่ฉันจะรับค่าได้จากที่ไหน ฉันพบSystem.Windows.Forms.Screen.PrimaryScreenซึ่งเห็นได้ชัดว่าไม่ใช่ WPF มีทางเลือก WPF ที่ให้ความละเอียดหน้าจอหรืออะไรทำนองนั้น?

21
แยกเฉพาะตัวอักษร n ส่วนใหญ่จากสตริง
ฉันจะแยกsubstringตัวอักษรที่ประกอบด้วยตัวอักษรหกตัวขวาสุดออกจากตัวอักษรอื่นได้stringอย่างไร Ex: "PER 343573"สตริงของฉันคือ "343573"ตอนนี้ผมต้องการที่จะดึงเท่านั้น ฉันจะทำเช่นนี้ได้อย่างไร?
110 c#  string  substring 

4
จับข้อยกเว้นที่ถูกโยนในเธรดที่แตกต่างกัน
หนึ่งในวิธีของฉัน ( Method1) สร้างเธรดใหม่ เธรดนั้นดำเนินการเมธอด ( Method2) และในระหว่างการดำเนินการจะมีการยกเว้น ฉันต้องการรับข้อมูลข้อยกเว้นนั้นเกี่ยวกับวิธีการโทร ( Method1) มีบางครั้งที่ฉันสามารถจับข้อยกเว้นMethod1นี้ได้Method2หรือไม่?

3
ฉันจะใช้ ISerializable ใน. NET 4+ โดยไม่ละเมิดกฎความปลอดภัยในการสืบทอดได้อย่างไร
ความเป็นมา: Noda Timeมีโครงสร้างที่ต่อเนื่องกันได้มากมาย แม้ว่าฉันไม่ชอบการทำให้เป็นอนุกรมไบนารี แต่เราก็ได้รับคำขอให้สนับสนุนมากมายกลับมาในไทม์ไลน์ 1.x เราสนับสนุนโดยใช้ISerializableอินเทอร์เฟซ เราได้รับเมื่อเร็ว ๆ นี้รายงานปัญหาของ Noda เวลา 2.x ล้มเหลวภายใน .NET ซอ รหัสเดียวกันที่ใช้ Noda Time 1.x ทำงานได้ดี ข้อยกเว้นที่เกิดขึ้นคือ: กฎความปลอดภัยในการสืบทอดถูกละเมิดในขณะที่แทนที่สมาชิก: 'NodaTime.Duration.System.Runtime.Serialization.ISerializable.GetObjectData (System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext) " ความสามารถในการเข้าถึงความปลอดภัยของวิธีการลบล้างต้องตรงกับความสามารถในการเข้าถึงความปลอดภัยของวิธีการที่ถูกลบล้าง ฉันได้ จำกัด สิ่งนี้ให้แคบลงเป็นกรอบงานที่กำหนดเป้าหมาย: 1.x เป้าหมาย. NET 3.5 (โปรไฟล์ลูกค้า); 2.x เป้าหมาย. NET 4.5 พวกเขามีความแตกต่างอย่างมากในแง่ของการสนับสนุน PCL เทียบกับ. NET Core และโครงสร้างไฟล์โครงการ แต่ดูเหมือนว่าจะไม่เกี่ยวข้อง ฉันสามารถทำซ้ำสิ่งนี้ในโครงการในพื้นที่ได้ แต่ฉันไม่พบวิธีแก้ปัญหา ขั้นตอนในการสร้างซ้ำใน …

12
วันที่เทียบกับ DateTime
ฉันกำลังทำงานในโปรแกรมที่ต้องใช้วันที่ของกิจกรรมเพื่อรับคืน ฉันกำลังมองหา a Dateไม่ใช่DateTime. มีประเภทข้อมูลที่ส่งคืนวันที่หรือไม่
110 c#  .net  asp.net 


15
แสดงรายการไฟล์และไดเร็กทอรีทั้งหมดในไดเร็กทอรี + ไดเร็กทอรีย่อย
ฉันต้องการแสดงรายการไฟล์และไดเร็กทอรีทั้งหมดที่อยู่ในไดเร็กทอรีและไดเร็กทอรีย่อยของไดเร็กทอรีนั้น ถ้าฉันเลือก C: \ เป็นไดเร็กทอรีโปรแกรมจะรับทุกชื่อของทุกไฟล์และโฟลเดอร์บนฮาร์ดไดรฟ์ที่เข้าถึงได้ รายการอาจมีลักษณะดังนี้ fd \ 1.txt fd \ 2.txt fd \ a \ fd \ b \ fd \ a \ 1.txt fd \ a \ 2.txt fd \ a \ a \ fd \ a \ b \ fd \ b \ 1.txt fd \ b …

3
WebException วิธีรับการตอบสนองทั้งหมดกับร่างกาย?
ใน WebException ฉันไม่เห็นเนื้อความของ GetResponse นี่คือรหัสของฉันใน C #: try { return GetResponse(url + "." + ext.ToString(), method, headers, bodyParams); } catch (WebException ex) { switch (ex.Status) { case WebExceptionStatus.ConnectFailure: throw new ConnectionException(); case WebExceptionStatus.Timeout: throw new RequestTimeRanOutException(); case WebExceptionStatus.NameResolutionFailure: throw new ConnectionException(); case WebExceptionStatus.ProtocolError: if (ex.Message == "The remote server returned …
110 c#  webexception 

12
ตรวจสอบว่าเส้นทางถูกต้องหรือไม่
ฉันแค่สงสัย: ฉันกำลังมองหาวิธีตรวจสอบว่าเส้นทางนั้นถูกต้องหรือไม่ (หมายเหตุ: ฉันไม่ต้องการที่จะตรวจสอบว่าไฟล์ที่มีอยู่เป็นฉันเพียงต้องการที่จะพิสูจน์ความถูกต้องของเส้นทาง - ดังนั้นถ้าไฟล์ที่อาจจะอยู่ในสถานที่) ปัญหาคือฉันไม่พบสิ่งใดใน. Net API เนื่องจากมีรูปแบบและตำแหน่งมากมายที่ Windows รองรับฉันจึงควรใช้ MS-native เนื่องจากฟังก์ชันควรสามารถตรวจสอบกับ: เส้นทางสัมพัทธ์ (./) เส้นทางสัมบูรณ์ (c: \ tmp) UNC-Pathes (\ some-pc \ c $) NTFS- ข้อ จำกัด เช่นเส้นทางแบบเต็ม 1024 ตัวอักษร - ถ้าฉันไม่เข้าใจผิดเกินพา ธ จะทำให้ไฟล์ไม่สามารถเข้าถึงได้สำหรับฟังก์ชั่นภายในของ Windows จำนวนมาก การเปลี่ยนชื่อด้วย Explorer ยังคงใช้งานได้ เส้นทาง GUID ของไดรฟ์ข้อมูล: "\? \ Volume {GUID} \ somefile.foo …
110 c#  .net  winapi  path 

13
จะตรวจสอบวันนี้ได้อย่างไรว่า DateTime เกิดขึ้นหรือไม่?
มีวิธีที่ดีกว่า. net ในการตรวจสอบว่า DateTime เกิดขึ้น 'today' ตามรหัสด้านล่างหรือไม่? if ( newsStory.WhenAdded.Day == DateTime.Now.Day && newsStory.WhenAdded.Month == DateTime.Now.Month && newsStory.WhenAdded.Year == DateTime.Now.Year ) { // Story happened today } else { // Story didn't happen today }
110 c#  .net  datetime 

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