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

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

30
ประสิทธิภาพ C ++ เทียบกับ Java / C #
ล็อค คำถามนี้และคำตอบถูกล็อกเนื่องจากคำถามไม่ตรงประเด็น แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ยังไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ความเข้าใจของฉันคือ C / C ++ สร้างโค้ดเนทีฟเพื่อรันบนสถาปัตยกรรมเครื่องเฉพาะ ในทางกลับกันภาษาเช่น Java และ C # ทำงานบนเครื่องเสมือนซึ่งแยกสถาปัตยกรรมดั้งเดิมออกไป ดูเหมือนจะเป็นไปไม่ได้ที่ Java หรือ C # จะจับคู่ความเร็วของ C ++ เนื่องจากขั้นตอนกลางนี้อย่างไรก็ตามฉันได้รับแจ้งว่าคอมไพเลอร์ล่าสุด ("ฮอตสปอต") สามารถบรรลุความเร็วนี้หรือสูงกว่านั้นได้ บางทีนี่อาจเป็นคำถามเกี่ยวกับคอมไพเลอร์มากกว่าคำถามด้านภาษา แต่ใครก็ได้สามารถอธิบายเป็นภาษาอังกฤษแบบธรรมดาได้ว่าภาษาเครื่องเสมือนเหล่านี้จะทำงานได้ดีกว่าภาษาแม่หรือไม่
119 c#  java  c++  performance  bytecode 


12
เริ่มบริการ Windows โดยอัตโนมัติเมื่อติดตั้ง
ฉันมีบริการ Windows ซึ่งฉันติดตั้งโดยใช้ InstallUtil.exe แม้ว่าฉันจะตั้งค่าวิธีการเริ่มต้นเป็นอัตโนมัติ แต่บริการไม่เริ่มทำงานเมื่อติดตั้งฉันต้องเปิดบริการด้วยตนเองและคลิกเริ่ม มีวิธีเริ่มต้นผ่านทางบรรทัดคำสั่งหรือผ่านรหัสของบริการหรือไม่?

5
การสูญเสียเศษส่วนที่เป็นไปได้
ยกโทษให้ฉันหากนี่เป็นคำถามที่ไร้เดียงสาอย่างไรก็ตามวันนี้ฉันสูญเสีย ฉันมีการคำนวณการหารง่ายๆดังนี้: double returnValue = (myObject.Value / 10); ค่าเป็น int ในวัตถุ ฉันได้รับข้อความที่ระบุว่าการสูญเสียเศษส่วนที่เป็นไปได้ อย่างไรก็ตามเมื่อฉันเปลี่ยนคู่เป็น int ข้อความจะหายไป มีความคิดว่าทำไมสิ่งนี้ถึงเกิดขึ้น?
119 c#  math 

3
เหตุใดวิธีการขยายสตริงนี้จึงไม่เกิดข้อยกเว้น
ฉันมีวิธีการขยายสตริง C # ที่ควรส่งคืนIEnumerable<int>ดัชนีทั้งหมดของสตริงย่อยภายในสตริง มันทำงานได้อย่างสมบูรณ์ตามวัตถุประสงค์ที่ตั้งใจไว้และผลลัพธ์ที่คาดหวังจะถูกส่งกลับ (ตามที่ได้รับการพิสูจน์โดยหนึ่งในการทดสอบของฉันแม้ว่าจะไม่ใช่แบบทดสอบด้านล่างก็ตาม) แต่การทดสอบหน่วยอื่นพบปัญหา: ไม่สามารถจัดการอาร์กิวเมนต์ว่างได้ นี่คือวิธีการขยายที่ฉันกำลังทดสอบ: public static IEnumerable<int> AllIndexesOf(this string str, string searchText) { if (searchText == null) { throw new ArgumentNullException("searchText"); } for (int index = 0; ; index += searchText.Length) { index = str.IndexOf(searchText, index); if (index == -1) break; yield return index; } …


7
ดัชนีคงที่?
Наэтотвопросестьответына Stack Overflow нарусском : Перегрузкаиндексаторастатическогокласса ทำไมตัวทำดัชนีคงที่ไม่ได้รับอนุญาตใน C # ฉันไม่เห็นเหตุผลว่าทำไมจึงไม่ควรอนุญาตและยิ่งไปกว่านั้นมันอาจมีประโยชน์มาก ตัวอย่างเช่น: public static class ConfigurationManager { public object this[string name] { get => ConfigurationManager.getProperty(name); set => ConfigurationManager.editProperty(name, value); } /// <summary> /// This will write the value to the property. Will overwrite if the property is already there /// </summary> …

7
การกำจัดการควบคุมผู้ใช้ WPF
ฉันได้สร้างการควบคุมผู้ใช้ WPF แบบกำหนดเองซึ่งมีวัตถุประสงค์เพื่อใช้โดยบุคคลที่สาม การควบคุมของฉันมีสมาชิกส่วนตัวซึ่งเป็นแบบใช้แล้วทิ้งและฉันต้องการให้แน่ใจว่าวิธีการกำจัดจะถูกเรียกใช้เสมอเมื่อปิดหน้าต่าง / แอปพลิเคชันที่มีอยู่ อย่างไรก็ตาม UserControl ไม่สามารถใช้แล้วทิ้ง ฉันลองใช้อินเทอร์เฟซ IDisposable และสมัครรับเหตุการณ์ Unloaded แต่ไม่ได้รับการเรียกเมื่อแอปพลิเคชันโฮสต์ปิด ถ้าเป็นไปได้ฉันไม่ต้องการพึ่งพาผู้บริโภคในการควบคุมของฉันที่จำเรียกวิธีการกำจัดเฉพาะ public partial class MyWpfControl : UserControl { SomeDisposableObject x; // where does this code go? void Somewhere() { if (x != null) { x.Dispose(); x = null; } } } ทางออกเดียวที่ฉันพบจนถึงตอนนี้คือสมัครรับเหตุการณ์ ShutdownStarted ของผู้มอบหมายงาน นี่เป็นแนวทางที่สมเหตุสมผลหรือไม่? this.Dispatcher.ShutdownStarted …
119 c#  .net  wpf  user-controls  dispose 

3
ฉันจะโมควิธีการที่มีอาร์กิวเมนต์ที่เป็นทางเลือกในลายเซ็นโดยไม่ระบุอย่างชัดเจนหรือใช้โอเวอร์โหลดได้อย่างไร
รับอินเทอร์เฟซต่อไปนี้: public interface IFoo { bool Foo(string a, bool b = false); } พยายามล้อเลียนโดยใช้ Moq: var mock = new Mock<IFoo>(); mock.Setup(mock => mock.Foo(It.IsAny<string>())).Returns(false); ให้ข้อผิดพลาดต่อไปนี้ในเวลาคอมไพล์: แผนภูมินิพจน์ต้องไม่มีการเรียกหรือการเรียกใช้ที่ใช้อาร์กิวเมนต์ที่เป็นทางเลือก ฉันพบปัญหาข้างต้นที่ยกขึ้นเป็นการปรับปรุงในรายการปัญหาของ Moq และดูเหมือนว่าจะถูกกำหนดให้กับรุ่น 4.5 (ทุกครั้งที่เป็น) คำถามของฉันคือ: ฉันควรทำอย่างไรหากข้างต้นจะไม่ได้รับการแก้ไขในเร็ว ๆ นี้? ตัวเลือกของฉันเป็นเพียงการตั้งค่าเริ่มต้นของพารามิเตอร์ทางเลือกอย่างชัดเจนทุกครั้งที่ฉันเยาะเย้ย (ประเภทใดที่เอาชนะจุดที่ระบุไว้ตั้งแต่แรก) หรือสร้างโอเวอร์โหลดโดยไม่ต้องบูล (เช่นสิ่งที่ฉันทำ ก่อน C # 4)? หรือมีใครเจอวิธีที่ฉลาดกว่านี้ในการเอาชนะปัญหานี้หรือไม่?
119 c#  unit-testing  moq 

1
ฉันจะปิดการใช้งานการเลื่อนแนวนอนในกล่องรายการ WPF ได้อย่างไร
ดูเหมือนจะเป็นคำถามง่ายๆที่ไร้เหตุผล แต่การค้นหาของ Google และ Stack Overflow ไม่ได้ผลอะไรเลย ฉันจะปิดใช้งานการเลื่อนแนวนอนใน WPF ListBox ได้อย่างไรเมื่อรายการใช้พื้นที่แนวนอนมากกว่าที่มีอยู่ในกล่อง
119 c#  .net  wpf  visual-studio  listbox 

3
XML Serialization - ปิดใช้งานการแสดงผลองค์ประกอบรูทของอาร์เรย์
ฉันสามารถปิดการแสดงผลองค์ประกอบรากของคอลเลกชันได้หรือไม่? คลาสนี้มีแอตทริบิวต์การทำให้เป็นอนุกรม: [XmlRoot(ElementName="SHOPITEM", Namespace="")] public class ShopItem { [XmlElement("PRODUCTNAME")] public string ProductName { get; set; } [XmlArrayItem("VARIANT")] public List<ShopItem> Variants { get; set; } } สร้าง XML นี้: <SHOPITEM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <PRODUCTNAME>test</PRODUCTNAME> <Variants> <VARIANT> <PRODUCTNAME>hi 1</PRODUCTNAME> </VARIANT> <VARIANT> <PRODUCTNAME>hi 2</PRODUCTNAME> </VARIANT> </Variants> </SHOPITEM> ฉันไม่ต้องการ<Variants>องค์ประกอบที่นี่ สิ่งที่ฉันต้องทำ? นอกจากนี้ฉันไม่ต้องการเนมสเปซ xsi และ xsd ในองค์ประกอบรูท …

19
ที่เก็บตาราง Azure ส่งคืน 400 คำขอที่ไม่ถูกต้อง
ฉันรันสิ่งนี้ในโหมดดีบักและแนบรูปภาพพร้อมรายละเอียดของข้อยกเว้น ฉันจะรู้ได้อย่างไรว่าเกิดอะไรขึ้น? ฉันพยายามใส่ข้อมูลในตาราง สีฟ้าไม่สามารถให้รายละเอียดเพิ่มเติมได้หรือไม่? ข้อสังเกต: ที่เก็บข้อมูลอยู่บน Windows Azure ไม่ได้อยู่ในเครื่องของฉัน สร้างตารางแล้ว แต่ฉันได้รับข้อผิดพลาดนี้เมื่อแทรกข้อมูล // Retrieve the storage account from the connection string. Microsoft.WindowsAzure.Storage.CloudStorageAccount storageAccount = Microsoft.WindowsAzure.Storage.CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=***;AccountKey=***"); // Create the table client. CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); // Create the table if it doesn't exist. CloudTable table = tableClient.GetTableReference("EmployeeOnlineHistory"); table.CreateIfNotExists(); และนี่คือรหัสแทรก: public static void …

6
ค่า int ต่ำกว่า 10 แปลงเป็นสตริงตัวเลขสองหลัก
string strI; for (int i = 1; i < 100; i++) strI = i.ToString(); ในที่นี่ถ้าi = 1แล้วToStringอัตราผลตอบแทน"1" แต่อยากได้ "01"หรือ"001" ดูเหมือนง่าย แต่มีเพียงบทความเกี่ยวกับ datetime.ToString("yyyy-MM-dd")`
119 c#  string 

4
วิธีสร้างแอตทริบิวต์ที่กำหนดเองใน C #
ฉันได้ลองหลายครั้งแล้ว แต่ก็ยังไม่เข้าใจการใช้คุณลักษณะที่กำหนดเอง (ฉันได้ดูลิงก์มากมายแล้ว) ใครช่วยอธิบายตัวอย่างพื้นฐานของแอตทริบิวต์ที่กำหนดเองพร้อมรหัสให้ฉันได้ไหม

6
ผนวก TimeStamp เข้ากับชื่อไฟล์
ฉันพบปัญหานี้หลายครั้งซึ่งฉันต้องการมีไฟล์เดียวกันหลายเวอร์ชันในไดเร็กทอรีเดียวกัน วิธีที่ฉันได้รับการทำโดยใช้ C # DateTime.Now.ToString().Replace('/', '-').Replace(':', '.')โดยการเพิ่มการประทับเวลากับชื่อไฟล์ที่มีบางสิ่งบางอย่างเช่นนี้ มีวิธีที่ดีกว่านี้หรือไม่?
119 c#  .net  file  datetime  file-io 

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