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

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

3
“ การลบตัวแทนมีผลลัพธ์ที่คาดเดาไม่ได้” ใน ReSharper / C #?
เมื่อใช้ปัญหาmyDelegate -= eventHandlerReSharper (เวอร์ชัน 6): การลบผู้รับมอบสิทธิ์มีผลลัพธ์ที่คาดเดาไม่ได้ เหตุผลที่อยู่เบื้องหลังนี้คือการอธิบายโดย JetBrains ที่นี่ คำอธิบายมีเหตุผลและหลังจากอ่านแล้วฉันสงสัยว่าการใช้งานทั้งหมดของฉัน-กับผู้ได้รับมอบหมาย วิธีแล้ว , ฉันสามารถเขียนเหตุการณ์ที่ไม่ใช่อัตโนมัติโดยไม่ทำให้ ReSharper ไม่พอใจได้หรือไม่? หรือมีวิธีที่ดีกว่าและ / หรือ "ถูกต้อง" ในการนำไปใช้หรือไม่? หรือฉันสามารถเพิกเฉยต่อ ReSharper ได้หรือไม่? นี่คือรหัสแบบง่าย: public delegate void MyHandler (object sender); MyHandler _myEvent; public event MyHandler MyEvent { add { _myEvent += value; DoSomethingElse(); } remove { _myEvent -= value; // …

8
วิธีการจำลอง ConfigurationManager.AppSettings ด้วย moq
ฉันติดอยู่ที่จุดนี้ของรหัสที่ฉันไม่รู้ว่าจะล้อเลียนอย่างไร: ConfigurationManager.AppSettings["User"]; ฉันต้องเยาะเย้ย ConfigurationManager แต่ฉันไม่ได้มีเงื่อนงำผมใช้ขั้นต่ำ มีใครให้คำแนะนำได้บ้าง ขอบคุณ!
124 c#  unit-testing  moq 

8
เหตุใดจึงต้องแคสต์นิพจน์แลมบ์ดาเมื่อระบุเป็นพารามิเตอร์ Delegate ธรรมดา
ใช้เมธอด System.Windows.Forms.Control.Invoke (Delegate method) เหตุใดจึงทำให้เกิดข้อผิดพลาดเวลาคอมไพล์: string str = "woop"; Invoke(() => this.Text = str); // Error: Cannot convert lambda expression to type 'System.Delegate' // because it is not a delegate type ยังใช้งานได้ดี: string str = "woop"; Invoke((Action)(() => this.Text = str)); เมื่อเมธอดคาดว่าจะมี Delegate ธรรมดา?
124 c#  c#-3.0  delegates  lambda 


8
รับ Substring - ทุกอย่างก่อนอักขระบางตัว
ฉันกำลังพยายามหาวิธีที่ดีที่สุดในการรับทุกอย่างก่อนอักขระ - ในสตริง สตริงตัวอย่างบางส่วนอยู่ด้านล่าง ความยาวของสตริงก่อน - แตกต่างกันไปและอาจมีความยาวเท่าใดก็ได้ 223232-1.jpg 443-2.jpg 34443553-5.jpg ดังนั้นฉันต้องการค่าที่มาจากดัชนีเริ่มต้นเป็น 0 ถึงก่อนหน้า - ดังนั้นสตริงย่อยจะกลายเป็น 223232, 443 และ 34443553
124 c# 


10
เหตุใด 'ref' และ 'out' จึงไม่สนับสนุนความหลากหลาย
ดำเนินการดังต่อไปนี้: class A {} class B : A {} class C { C() { var b = new B(); Foo(b); Foo2(ref b); // <= compile-time error: // "The 'ref' argument doesn't match the parameter type" } void Foo(A a) {} void Foo2(ref A a) {} } เหตุใดข้อผิดพลาดเวลาคอมไพล์ข้างต้นจึงเกิดขึ้น สิ่งนี้เกิดขึ้นกับทั้งสองrefและoutข้อโต้แย้ง

7
วิธีการส่งผ่านวัตถุเดียว [] ไปยังวัตถุ params []
ฉันมีวิธีการที่ใช้วัตถุ params [] เช่น: void Foo(params object[] items) { Console.WriteLine(items[0]); } เมื่อฉันส่งอาร์เรย์อ็อบเจ็กต์สองอันไปยังวิธีนี้มันก็ใช้ได้ดี: Foo(new object[]{ (object)"1", (object)"2" }, new object[]{ (object)"3", (object)"4" } ); // Output: System.Object[] แต่เมื่อฉันส่งวัตถุเดียว [] มันจะไม่ใช้วัตถุของฉัน [] เป็นพารามิเตอร์ตัวแรก แต่จะใช้องค์ประกอบทั้งหมดเหมือนที่ฉันต้องการส่งผ่านทีละรายการ: Foo(new object[]{ (object)"1", (object)"2" }); // Output: 1, expected: System.Object[] ฉันจะส่งอ็อบเจ็กต์เดียว [] เป็นอาร์กิวเมนต์แรกไปยังอาร์เรย์พารามิเตอร์ได้อย่างไร
124 c#  arrays 

5
ReadOnlyCollection หรือ IEnumerable สำหรับการเปิดเผยคอลเลกชันของสมาชิก?
มีเหตุผลใดหรือไม่ที่จะเปิดเผยคอลเลกชันภายในเป็น ReadOnlyCollection แทนที่จะเป็น IEnumerable หากรหัสการโทรวนซ้ำบนคอลเลกชันเท่านั้น class Bar { private ICollection<Foo> foos; // Which one is to be preferred? public IEnumerable<Foo> Foos { ... } public ReadOnlyCollection<Foo> Foos { ... } } // Calling code: foreach (var f in bar.Foos) DoSomething(f); อย่างที่ฉันเห็น IEnumerable เป็นส่วนย่อยของอินเทอร์เฟซของ ReadOnlyCollection และไม่อนุญาตให้ผู้ใช้แก้ไขคอลเล็กชัน ดังนั้นหากอินเทอร์เฟซ IEnumberable เพียงพอนั่นคือสิ่งที่ต้องใช้ นั่นเป็นวิธีที่เหมาะสมในการหาเหตุผลเกี่ยวกับเรื่องนี้หรือฉันพลาดอะไรไป? ขอบคุณ …

5
MyAssembly.XmlSerializers.dll สร้างขึ้นเพื่ออะไร
ฉันกำลังทำโปรเจ็กต์ที่สร้างแอสเซมบลี ฉันเพิ่งสังเกตว่ามีการสร้างแอสเซมบลีเพิ่มเติม * .XmlSerializers.dll ทำไมไฟล์นี้ถูกสร้างขึ้นโดยอัตโนมัติและใช้ทำอะไร

8
ฉันจะผูก WPF DataGrid กับจำนวนคอลัมน์ตัวแปรได้อย่างไร
แอปพลิเคชัน WPF ของฉันสร้างชุดข้อมูลซึ่งอาจมีจำนวนคอลัมน์ที่แตกต่างกันในแต่ละครั้ง รวมอยู่ในผลลัพธ์คือคำอธิบายของแต่ละคอลัมน์ที่จะใช้ในการจัดรูปแบบ เอาต์พุตเวอร์ชันที่เรียบง่ายอาจมีลักษณะดังนี้: class Data { IList<ColumnDescription> ColumnDescriptions { get; set; } string[][] Rows { get; set; } } คลาสนี้ถูกตั้งค่าเป็น DataContext บน WPF DataGrid แต่จริงๆแล้วฉันสร้างคอลัมน์โดยใช้โปรแกรม: for (int i = 0; i < data.ColumnDescriptions.Count; i++) { dataGrid.Columns.Add(new DataGridTextColumn { Header = data.ColumnDescriptions[i].Name, Binding = new Binding(string.Format("[{0}]", i)) }); } …
124 c#  wpf  xaml  data-binding  datagrid 

5
การกำหนดรหัสให้กับตัวแปร
เป็นไปได้ไหมที่จะสร้างตัวแปรและกำหนดบรรทัดของรหัสให้กับตัวแปรเช่น: ButtonClicked = (MessageBox.Show("Hello, World!")); ... ดังนั้นเมื่อฉันใช้ตัวแปรมันจะดำเนินการบรรทัดของรหัส
124 c#  variables 

9
int [] เป็นประเภทอ้างอิงหรือประเภทค่า?
ฉันรู้ว่า int เป็นประเภทค่า แต่อาร์เรย์ประเภทค่าคืออะไร ประเภทอ้างอิง? ประเภทมูลค่า? ฉันต้องการส่งอาร์เรย์ไปยังฟังก์ชันเพื่อตรวจสอบบางสิ่ง ฉันควรส่งอาร์เรย์หรือไม่เพราะมันจะผ่านการอ้างอิงของมันหรือฉันควรจะส่งผ่านเป็น ref?
124 c#  .net 

11
วิธีแปลง char เป็น int
เป็นวิธีที่เหมาะสมในการแปลงอะไรcharไปint? สิ่งนี้ให้49: int val = Convert.ToInt32('1'); //int val = Int32.Parse("1"); // Works ฉันไม่ต้องการแปลงเป็นสตริงแล้วแยกวิเคราะห์
124 c#  .net 

11
ส่งอาร์เรย์ไปยัง mvc Action ผ่าน AJAX
ฉันกำลังพยายามส่งอาร์เรย์ (หรือ IEnumerable) ของ ints จากผ่าน AJAX ไปยังการดำเนินการ MVC และฉันต้องการความช่วยเหลือเล็กน้อย จาวาสคริปต์คือ $.get('/controller/MyAction', { vals: arrayOfValues }, function (data) {... และการกระทำของคอนโทรลเลอร์คือ public ActionResult MyAction(IEnumerable<int> arrayOfValues ) ในขณะนี้คำขอถูกจัดรูปแบบเป็น controller/MyAction?_=1301503418429&arrayOfValues[]=491&arrayOfValues[]=368&arrayOfValues[]=235&arrayOfValues[]=437 ฉันเกือบจะถึงแล้วถ้าฉันถอดวงเล็บเหลี่ยมออกฉันจะได้รับคำตอบที่ถูกต้อง ฉันจะส่งอาร์เรย์นั้นไปยัง get ได้อย่างไรเพื่อให้คอนโทรลเลอร์สามารถรับรู้ว่ามันคืออะไร ขอบคุณมากสำหรับความช่วยเหลือของคุณ เดฟ
124 c#  asp.net-mvc  jquery 

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