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

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

2
เหตุใด HashSet <Point> จึงช้ากว่า HashSet <string> มาก
ฉันต้องการจัดเก็บตำแหน่งพิกเซลบางแห่งโดยไม่อนุญาตให้ซ้ำซ้อนดังนั้นสิ่งแรกที่ควรคำนึงถึงคือHashSet&lt;Point&gt;หรือคลาสที่คล้ายกัน HashSet&lt;string&gt;อย่างไรก็ตามเรื่องนี้ดูเหมือนจะช้ามากเมื่อเทียบกับสิ่งที่ชอบ ตัวอย่างเช่นรหัสนี้: HashSet&lt;Point&gt; points = new HashSet&lt;Point&gt;(); using (Bitmap img = new Bitmap(1000, 1000)) { for (int x = 0; x &lt; img.Width; x++) { for (int y = 0; y &lt; img.Height; y++) { points.Add(new Point(x, y)); } } } ใช้เวลาประมาณ 22.5 วินาที ในขณะที่รหัสต่อไปนี้(ซึ่งไม่ใช่ตัวเลือกที่ดีสำหรับเหตุผลที่ชัดเจน)ใช้เวลาเพียง 1.6 วินาที: HashSet&lt;string&gt; points …

10
การใช้รูปแบบการรวมวัตถุ C #
ใครบ้างมีทรัพยากรที่ดีในการใช้กลยุทธ์กลุ่มวัตถุที่ใช้ร่วมกันสำหรับทรัพยากรที่ จำกัด ในหลอดเลือดดำของการเชื่อมต่อ SQL Pooling? (กล่าวคือจะถูกนำไปใช้อย่างเต็มที่ซึ่งจะปลอดภัยต่อเธรด) ในการติดตามเกี่ยวกับคำร้องขอ @Aaronaught สำหรับการชี้แจงการใช้พูลจะเป็นการร้องขอการทำโหลดบาลานซ์ให้กับบริการภายนอก การวางไว้ในสถานการณ์ที่อาจจะง่ายกว่าที่จะเข้าใจได้ทันทีเมื่อเทียบกับคำบรรยายโดยตรงของฉัน ฉันมีวัตถุเซสชันที่ทำงานคล้ายกับISessionวัตถุจาก NHibernate แต่ละเซสชั่นที่ไม่ซ้ำกันจัดการมันเชื่อมต่อกับฐานข้อมูล ขณะนี้ฉันมีวัตถุเซสชันที่ใช้งานมานาน 1 ครั้งและกำลังประสบปัญหาซึ่งผู้ให้บริการของฉันกำลัง จำกัด อัตราการใช้งานเซสชันนี้ เนื่องจากขาดความคาดหวังว่าเซสชันเดียวจะถือว่าเป็นบัญชีบริการที่ใช้งานมานานพวกเขาจึงถือว่าเป็นลูกค้าที่ใช้บริการของพวกเขา ซึ่งนำมาสู่คำถามของฉันที่นี่แทนที่จะมี 1 เซสชันส่วนตัวฉันจะสร้างกลุ่มของเซสชันที่แตกต่างกันและแยกคำขอขึ้นอยู่กับบริการในหลาย ๆ เซสชันแทนที่จะสร้างจุดโฟกัสเดียวที่ฉันทำ หวังว่าพื้นหลังนั้นมีคุณค่า แต่จะตอบคำถามของคุณโดยตรง: ถาม:วัตถุมีราคาแพงในการสร้างหรือไม่ ตอบ:ไม่มีวัตถุใด ๆ เป็นแหล่งรวมทรัพยากรที่ จำกัด ถาม:พวกเขาจะได้รับ / เผยแพร่บ่อยมากหรือไม่ ตอบ:ใช่อีกครั้งที่พวกเขาสามารถนึกถึง NHibernate ISessions ที่มักจะได้รับและเผยแพร่ 1 ตลอดระยะเวลาของคำขอหน้าเดียวทุกครั้ง คำถาม:คนที่มาก่อนได้ก่อนมาง่าย ๆ หรือคุณต้องการสิ่งที่ฉลาดกว่านั่นคือการป้องกันความอดอยาก? ตอบ:การกระจายประเภทโรบินรอบเรียบง่ายพอเพียงโดยความอดอยากฉันถือว่าคุณหมายความว่าหากไม่มีเซสชันที่ผู้โทรติดต่อถูกบล็อกรอการเผยแพร่ สิ่งนี้ไม่สามารถใช้งานได้จริงเนื่องจากเซสชันสามารถใช้ร่วมกันโดยผู้โทรที่แตกต่างกัน เป้าหมายของฉันคือการกระจายการใช้งานในหลาย ๆ เซสชันเมื่อเทียบกับ 1 เซสชันเดียว …

8
แยกสตริงเพื่อ DateTime ใน C #
ฉันมีวันที่และเวลาในรูปแบบสตริงเหมือนที่: "2011-03-21 13:26" //year-month-day hour:minute ฉันจะแยกวิเคราะห์มันได้System.DateTimeอย่างไร ฉันต้องการใช้ฟังก์ชันเช่นDateTime.Parse()หรือDateTime.ParseExact()ถ้าเป็นไปได้เพื่อให้สามารถระบุรูปแบบของวันที่ด้วยตนเอง
165 c#  .net  string  parsing  datetime 

17
ViewModel หรือ Model ใน MVVM ควรใช้ INotifyPropertyChanged หรือไม่
ส่วนใหญ่ตัวอย่าง MVVM ฉันได้ทำงานผ่านได้มีรุ่นใช้ INotifyPropertyChangedแต่ในจอชสมิ ธ CommandSink ตัวอย่าง ดำเนิน ViewModelINotifyPropertyChanged ฉันยังคงรวบรวมแนวความคิด MVVM เข้าด้วยกันอย่างมีสติดังนั้นฉันไม่รู้ว่า: คุณต้องใส่INotifyPropertyChangedใน ViewModel เพื่อCommandSinkไปทำงาน นี่เป็นเพียงความคลาดเคลื่อนของบรรทัดฐานและมันก็ไม่สำคัญอะไร คุณควรมีโมเดลใช้อยู่เสมอINotifyPropertyChangedและนี่เป็นเพียงความผิดพลาดซึ่งจะได้รับการแก้ไขหากสิ่งนี้ได้รับการพัฒนาจากตัวอย่างโค้ดไปยังแอปพลิเคชัน อะไรคือประสบการณ์ของผู้อื่นในโครงการ MVVM ที่คุณได้ทำ?

1
ทำไมแอททริบิวต์ isDefined () จึงโอเวอร์โหลดเกินพิกัด
แรงบันดาลใจจากคำถาม SO ชั้น Attribute มีหลาย overloads สำหรับIsDefined ()วิธีการ Covered คือแอททริบิวต์ที่ใช้กับชุดประกอบ, โมดูล, MemberInfo, ParameterInfo MemberInfo โอเวอร์โหลดครอบคลุม PropertyInfo, FieldInfo, EventInfo, MethodInfo, ConstructorInfo ที่ดูแล AttributeTargets ส่วนใหญ่ ยกเว้นหนึ่ง biggy: ไม่มี overload สำหรับ Attribute.IsDefined (Type, Type) เพื่อให้คุณสามารถตรวจสอบว่ามีการกำหนดคุณลักษณะในชั้นเรียน หรือ struct, มอบหมายหรือ enum สำหรับเรื่องที่ ไม่ใช่ว่านี่เป็นปัญหาที่แท้จริง Type.GetCustomAttributes () สามารถแก้ไขได้ แต่ BlahInfo ทุกประเภทก็มีเช่นกัน ฉันสงสัยว่าขาดความสมมาตร ฉันไม่สามารถระบุได้ว่าทำไมสิ่งนี้จึงเป็นปัญหาสำหรับประเภท การคาดเดาปัญหามรดกไม่ได้อธิบายให้ฉันฟัง การมี ValueType ในการผสมอาจเป็นผู้นำ …
165 c#  .net  reflection 

27
ฉันจะตรวจสอบว่าสตริงที่กำหนดเป็นชื่อไฟล์ทางกฎหมาย / ที่ถูกต้องใน Windows ได้อย่างไร?
ฉันต้องการรวมฟังก์ชั่นการเปลี่ยนชื่อไฟล์แบทช์ในแอปพลิเคชันของฉัน ผู้ใช้สามารถพิมพ์รูปแบบชื่อไฟล์ปลายทางและ (หลังจากแทนที่อักขระตัวแทนบางตัวในรูปแบบ) ฉันต้องตรวจสอบว่าเป็นชื่อไฟล์ทางกฎหมายใน Windows หรือไม่ ฉันพยายามที่จะใช้การแสดงออกปกติเช่น[a-zA-Z0-9_]+แต่มันไม่ได้รวมตัวละครเฉพาะชาติจำนวนมากจากภาษาต่างๆ (เช่น umlauts และอื่น ๆ ) วิธีที่ดีที่สุดในการทำเช็คดังกล่าวคืออะไร?
165 c#  windows  file  filesystems 

12
ไม่สามารถอ้างอิงเอนทิตีวัตถุโดย IEntityChangeTracker หลายอินสแตนซ์ ขณะที่เพิ่มวัตถุที่เกี่ยวข้องกับเอนทิตีใน Entity Framework 4.1
ฉันพยายามบันทึกรายละเอียดพนักงานซึ่งมีการอ้างอิงกับเมือง แต่ทุกครั้งที่ฉันพยายามบันทึกผู้ติดต่อของฉันซึ่งผ่านการตรวจสอบแล้วฉันจะได้รับการยกเว้น"ADO.Net Entity Framework วัตถุเอนทิตีไม่สามารถอ้างอิงได้ด้วยหลายอินสแตนซ์ของ IEntityChangeTracker" ฉันได้อ่านโพสต์มากมาย แต่ยังไม่ได้รับความคิดที่แน่นอนของสิ่งที่ต้องทำ ... รหัสการคลิกปุ่มบันทึกของฉันได้รับด้านล่าง protected void Button1_Click(object sender, EventArgs e) { EmployeeService es = new EmployeeService(); CityService cs = new CityService(); DateTime dt = new DateTime(2008, 12, 12); Payroll.Entities.Employee e1 = new Payroll.Entities.Employee(); Payroll.Entities.City city1 = cs.SelectCity(Convert.ToInt64(cmbCity.SelectedItem.Value)); e1.Name = "Archana"; e1.Title = "aaaa"; e1.BirthDate …

20
คุณสามารถทำอะไรใน MSIL ที่คุณไม่สามารถทำได้ใน C # หรือ VB.NET [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม &amp; คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา รหัสทั้งหมดที่เขียนใน. NET ภาษารวบรวม MSIL แต่มีงานเฉพาะ / การดำเนินงานที่คุณสามารถทำได้เพียงใช้ MSIL โดยตรงหรือไม่ ให้เราทำสิ่งต่าง ๆ ได้ง่ายขึ้นใน MSIL กว่า C #, VB.NET, F #, j # หรือภาษา NET อื่น ๆ จนถึงตอนนี้เรามีสิ่งนี้: หางเรียกซ้ำ Generic Co / Contravariance เกินพิกัดที่แตกต่างกันเฉพาะในประเภทผลตอบแทน แทนที่ตัวดัดแปลงการเข้าถึง มีคลาสที่ไม่สามารถสืบทอดจาก System.Object ข้อยกเว้นที่กรอง (สามารถทำได้ใน vb.net) การเรียกใช้วิธีเสมือนของชนิดคลาสคงที่ปัจจุบัน รับการจัดการกับชนิดของค่าชนิดบรรจุกล่อง ลอง / …
165 c#  .net  clr  cil 

3
Visual Studio - ไฟล์ Resx เริ่มต้น 'ภายใน' เป็น 'สาธารณะ'
ทุกครั้งที่ฉันแก้ไขไฟล์ทรัพยากรใน VS มันจะสร้างรหัสที่สอดคล้องกันใหม่และตั้งค่าตัวดัดแปลงการเข้าถึงคลาสให้เป็นภายใน มันเป็นความเจ็บปวดของ Ctrl-F -&gt; ReplaceAll ทุกครั้งที่ฉันแก้ไข resx มีสถานที่ให้บริการ / การตั้งค่าเพื่อให้ฉันสามารถเริ่มต้นนี้เป็นสาธารณะ internal class MyResource { internal static global::System.Resources.ResourceManager ResourceManager {...} } ฉันต้องการทุกคนที่internalจะอยู่publicตลอดเวลา

16
วิธีที่ไม่ซ้ำในการใช้ตัวดำเนินการ Null Coalescing [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ฉันรู้วิธีมาตรฐานในการใช้ตัวดำเนินการรวม Null ใน C # คือการตั้งค่าเริ่มต้น string nobody = null; string somebody = "Bob Saget"; string anybody = ""; anybody = nobody ?? "Mr. T"; // returns Mr. T anybody = somebody ?? "Mr. T"; // returns "Bob Saget" แต่มีอะไรอีกบ้างที่สามารถ??ใช้เพื่อ? ดูเหมือนว่าจะไม่มีประโยชน์เท่าโอเปอร์เรเตอร์ที่ประกอบไปด้วยนอกจากจะกระชับและอ่านง่ายกว่า: nobody …

23
การเข้าถึงพา ธ ถูกปฏิเสธ
ฉันรู้ว่าคำถามนี้ถูกถามหลายครั้งที่นี่ แต่ฉันไม่สามารถหาวิธีแก้ไขปัญหาของฉันได้ ฉันพยายามบันทึกภาพไปยังโฟลเดอร์ใน. net c # แต่ได้รับข้อยกเว้นนี้: Access to the path 'C:\inetpub\wwwroot\mysite\images\savehere' is denied.The error occured at mscorlib because at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) at …
165 c#  .net  iis  path  denied 

6
ความแตกต่างระหว่างการค้นหา () และพจนานุกรม (จากรายการ ())
ฉันพยายามคาดศีรษะว่าโครงสร้างข้อมูลใดที่มีประสิทธิภาพมากที่สุดและเมื่อใด / ที่ไหนที่จะใช้อันไหน ตอนนี้อาจเป็นได้ว่าฉันแค่ไม่เข้าใจโครงสร้างที่ดีพอ แต่ILookup(of key, ...)แตกต่างจากDictionary(of key, list(of ...))อย่างไร นอกจากนี้ฉันจะต้องใช้ที่ใดILookupและจะมีประสิทธิภาพมากขึ้นในแง่ของความเร็วของโปรแกรม / หน่วยความจำ / การเข้าถึงข้อมูล ฯลฯ
165 c#  .net  vb.net  linq 

10
?? เชื่อมต่อกับสตริงว่างหรือไม่
สิ่งที่ฉันคิดว่าตัวเองทำมากขึ้นคือการตรวจสอบสตริงว่าง ๆ (เหมือนใน ""หรือเป็นโมฆะ) และโอเปอเรเตอร์ที่มีเงื่อนไข ตัวอย่างปัจจุบัน: s.SiteNumber.IsNullOrEmpty() ? "No Number" : s.SiteNumber; นี่เป็นเพียงวิธีส่วนขยายซึ่งเทียบเท่ากับ: string.IsNullOrEmpty(s.SiteNumber) ? "No Number" : s.SiteNumber; เนื่องจากว่างเปล่าและไม่ว่างจึง??ไม่ทำเคล็ดลับ string.IsNullOrEmpty()รุ่นของ??จะเป็นโซลูชั่นที่สมบูรณ์แบบ ฉันคิดว่าจะต้องมีวิธีที่สะอาดกว่าในการทำสิ่งนี้ (ฉันหวังว่า!) แต่ฉันได้สูญเสียที่จะหามัน ไม่มีใครรู้วิธีที่ดีกว่าในการทำเช่นนี้แม้ว่าจะเป็นเพียงใน. Net 4.0?


6
วิธีการภายใน enum ใน C #
ใน Java เป็นไปได้ที่จะมีวิธีการภายใน enum มีความเป็นไปได้เช่นนี้ใน C # หรือเป็นเพียงแค่การรวบรวมสตริงและนั่นคืออะไร ฉันพยายามที่จะแทนที่ToString()แต่มันไม่ได้รวบรวม มีใครมีตัวอย่างรหัสง่ายๆ?
165 c#  enums  enumeration 

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