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

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

21
คุณจะได้รับไดเร็กทอรีโปรเจ็กต์ปัจจุบันจากรหัส C # เมื่อสร้างงาน MSBuild แบบกำหนดเองได้อย่างไร
แทนที่จะรันโปรแกรมภายนอกด้วยพา ธ ฮาร์ดโค้ดฉันต้องการรับ Project Dir ปัจจุบัน ฉันกำลังเรียกโปรแกรมภายนอกโดยใช้กระบวนการในงานที่กำหนดเอง ฉันจะทำอย่างไร AppDomain.CurrentDomain.BaseDirectory ให้ตำแหน่งของ VS 2008 แก่ฉัน
134 c#  msbuild 

6
รูปแบบผลตอบแทน StartCoroutine / yield ทำงานอย่างไรใน Unity
ฉันเข้าใจหลักการของโครูทีน ฉันรู้วิธีทำให้มาตรฐานStartCoroutine/ yield returnรูปแบบทำงานใน C # ใน Unity เช่นเรียกใช้วิธีการส่งคืนIEnumeratorผ่านStartCoroutineและในวิธีนั้นทำอะไรบางอย่างyield return new WaitForSeconds(1);รอสักครู่แล้วทำอย่างอื่น คำถามของฉันคือเกิดอะไรขึ้นเบื้องหลัง? อะไรStartCoroutineทำจริงๆ? กลับมาIEnumeratorคืออะไรWaitForSeconds? การStartCoroutineควบคุมกลับไปยังส่วน "อย่างอื่น" ของวิธีการที่เรียกว่าอย่างไร ทั้งหมดนี้โต้ตอบกับโมเดลการทำงานพร้อมกันของ Unity อย่างไร (ซึ่งมีหลายสิ่งเกิดขึ้นพร้อมกันโดยไม่ต้องใช้โครูทีน)
134 c#  unity3d  coroutine 


3
Linq: GroupBy, Sum และ Count
ฉันมีชุดผลิตภัณฑ์ public class Product { public Product() { } public string ProductCode {get; set;} public decimal Price {get; set; } public string Name {get; set;} } ตอนนี้ฉันต้องการจัดกลุ่มคอลเลคชันตามรหัสผลิตภัณฑ์และส่งคืนออบเจ็กต์ที่มีชื่อหมายเลขหรือผลิตภัณฑ์สำหรับแต่ละรหัสและราคารวมสำหรับแต่ละผลิตภัณฑ์ public class ResultLine{ public ResultLine() { } public string ProductName {get; set;} public string Price {get; set; } public string Quantity {get; set;} …
133 c#  .net  linq 

9
ความแตกต่างใน Linq ขึ้นอยู่กับเพียงหนึ่งฟิลด์ของตาราง
ฉันกำลังพยายามใช้ .distinct ใน Linq เพื่อให้ได้ผลลัพธ์ตามฟิลด์หนึ่งของตาราง (ดังนั้นไม่จำเป็นต้องมีระเบียนที่ซ้ำกันทั้งหมดจากตาราง) ฉันรู้ว่าการเขียนแบบสอบถามพื้นฐานโดยใช้ความแตกต่างดังต่อไปนี้: var query = (from r in table1 orderby r.Text select r).distinct(); แต่ฉันต้องการผลลัพธ์ที่r.textไม่ซ้ำกัน
133 c#  sql  linq 

6
อะไรคือความหมายของตัวปรับการเข้าถึง C # ที่วางแผนไว้
ในฐานะที่เป็นส่วนหนึ่งของเอกสารRoslynบน GitHub มีหน้าที่เรียกว่าสถานะการใช้งานคุณลักษณะภาษาพร้อมด้วยคุณลักษณะภาษาที่วางแผนไว้สำหรับ C # และ VB คุณลักษณะหนึ่งที่ฉันไม่สามารถคาดเดาได้คือprivate protectedตัวปรับการเข้าถึง: private protected string GetId() { … } นอกจากนี้ยังมีหน้าหมายเหตุการออกแบบภาษา C #ซึ่งอธิบายถึงคุณลักษณะใหม่ ๆ มากมาย แต่ไม่ใช่คุณลักษณะนี้ Eric Lippert กล่าวในความคิดเห็น : ข้อผิดพลาดของคุณคือการคิดว่าตัวดัดแปลงเป็นการเพิ่มข้อ จำกัด ในความเป็นจริงตัวปรับลดข้อ จำกัด เสมอ โปรดจำไว้ว่าสิ่งต่างๆเป็น "ส่วนตัว" โดยค่าเริ่มต้น การเพิ่มโมดิฟายเออร์เท่านั้นที่จะทำให้มีข้อ จำกัด น้อยลง ความหมายของprivate protectedอะไร? ฉันจะใช้เมื่อใด

9
ตัวแปรที่ประกาศใน for-loop เป็นตัวแปรภายในหรือไม่
ฉันใช้ C # มาเป็นเวลานาน แต่ไม่เคยตระหนักถึงสิ่งต่อไปนี้: public static void Main() { for (int i = 0; i < 5; i++) { } int i = 4; //cannot declare as 'i' is declared in child scope int A = i; //cannot assign as 'i' does not exist in this context } เหตุใดฉันจึงไม่สามารถใช้ค่า …
133 c#  variables  scope 

6
ฉันจะวินิจฉัยการอ้างอิงที่ขาดหายไป (หรือความล้มเหลวของตัวโหลดอื่น ๆ ) ใน dnx ได้อย่างไร
ฉันกำลังพยายามเรียกใช้ตัวอย่าง HelloWebเวอร์ชันแก้ไขสำหรับ ASP.NET vNext บน DNX โดยใช้ Kestrel ฉันเข้าใจว่านี่เป็นเรื่องที่ต้องห้ามพลาด แต่ฉันหวังว่าอย่างน้อยทีม ASP.NET จะทำให้เว็บแอปที่ง่ายที่สุดทำงานได้ :) สิ่งแวดล้อม: Linux (Ubuntu สวยมาก) โมโน 3.12.1 DNX 1.0.0-beta4-11257 (ฉันมี 11249 ด้วย) รหัส "เว็บแอป" ในStartup.cs: using Microsoft.AspNet.Builder; public class Startup { public void Configure(IApplicationBuilder app) { app.UseWelcomePage(); } } การกำหนดค่าโครงการในproject.json: { "dependencies": { "Kestrel": "1.0.0-beta4", "Microsoft.AspNet.Diagnostics": "1.0.0-beta4", "Microsoft.AspNet.Hosting": …
133 c#  asp.net-core  dnx 

10
การแก้ไขข้อบกพร่องเทียบกับประสิทธิภาพการเปิดตัว
ฉันพบย่อหน้าต่อไปนี้: “ การแก้จุดบกพร่องเทียบกับการตั้งค่ารีลีสใน IDE เมื่อคุณคอมไพล์โค้ดของคุณใน Visual Studio แทบจะไม่แตกต่างกับประสิทธิภาพ…โค้ดที่สร้างขึ้นเกือบจะเหมือนกัน คอมไพเลอร์ C # ไม่ได้ทำการปรับให้เหมาะสม คอมไพเลอร์ C # เพียงแค่พ่น IL ... และที่รันไทม์เป็น JITer ที่ทำหน้าที่เพิ่มประสิทธิภาพทั้งหมด JITer มีโหมด Debug / Release ซึ่งสร้างความแตกต่างอย่างมากให้กับประสิทธิภาพ แต่นั่นไม่ได้สำคัญว่าคุณจะเรียกใช้การกำหนดค่าการดีบักหรือรีลีสของโปรเจ็กต์ของคุณหรือไม่นั่นคือกุญแจสำคัญว่าจะแนบดีบักเกอร์หรือไม่ แหล่งที่มาที่นี่และพอดคาสต์เป็นที่นี่ ใครช่วยแนะนำบทความของ Microsoft ที่สามารถพิสูจน์สิ่งนี้ได้จริง Googling " C # debug vs release performance " ส่วนใหญ่จะแสดงผลลัพธ์ว่า " Debug has a lot of performance hit …

3
VB.NET เทียบเท่ากับชวเลขคุณสมบัติ C #?
มี VB.NET เทียบเท่ากับ C # หรือไม่: public string FirstName { get; set; } ฉันรู้ว่าคุณทำได้ Public Property name() As String Get Return _name.ToString End Get Set(ByVal value As String) _name = value End Set End Property แต่ฉันไม่สามารถหาคำตอบเกี่ยวกับชวเลข Visual Basic ของ Google ได้

4
แปลงรายการของวัตถุเป็นอาร์เรย์ของคุณสมบัติของวัตถุอย่างใดอย่างหนึ่ง
สมมติว่าฉันมีชั้นเรียนต่อไปนี้: public class ConfigItemType { public string Name { get; set; } public double SomeOtherThing { get; set; } } จากนั้นฉันก็สร้างรายชื่อคลาสต่อไปนี้ ( List<ConfigItemType> MyList) ตอนนี้ฉันมีวิธีการที่มีลายเซ็นต่อไปนี้: void AggregateValues(string someUnrelatedValue, params string[] listGoesHere) ฉันจะพอดีMyListกับการlistGoesHereใช้ค่าในConfigItemType.Nameเป็นสตริงอาร์เรย์พารามิเตอร์ได้อย่างไร ฉันค่อนข้างแน่ใจว่า Linq สามารถทำได้ .... แต่MyListไม่มีselectวิธีการ (ซึ่งเป็นสิ่งที่ฉันจะใช้)
133 c#  linq 

6
DateTime ToString (“ MM / dd / yyyy HH: mm: ss.fff”) ได้ผลลัพธ์เช่น“ 09/14/2013 07.20.31.371”
ฉันมีแอป WP8 ซึ่งจะส่งเวลาปัจจุบันไปยังบริการเว็บ ฉันได้รับสตริงวันที่และเวลาโดยการโทร DateTime.ToString("MM/dd/yyyy HH:mm:ss.fff") สำหรับผู้ใช้ส่วนใหญ่มันใช้งานได้ดีและให้สตริงที่ถูกต้องเช่น"09/10/2013 04:04:31.415". แต่สำหรับผู้ใช้บางคนสตริงผลลัพธ์เป็นสิ่ง"09/14/2013 07.20.31.371"ที่ทำให้เกิดปัญหาในบริการเว็บของฉัน เป็นเพราะรูปแบบวัฒนธรรมบางอย่างหรือไม่? ฉันจะแน่ใจได้อย่างไรว่าสตริงผลลัพธ์ถูกคั่นด้วยเครื่องหมายจุดคู่แทนจุด

4
รับรายการรหัสอ้างอิงศูนย์ใน Visual Studio
ในสตูดิโอภาพ 2013 จำนวนการอ้างอิงของรหัสพิเศษ (วิธีคุณสมบัติฟิลด์, ... ) แสดงโดยรหัสเลนส์ ฉันต้องการรับรหัสที่ไม่ได้ใช้(การอ้างอิงเป็นศูนย์)ใน Visual Studio มีวิธีใดบ้างที่จะได้รับพวกเขา? ฉันหมายถึงการอ้างอิงด้านล่าง:

5
รูปแบบ Data Mapper, Table Data Gateway (Gateway), Data Access Object (DAO) และ Repository แตกต่างกันอย่างไร
ฉันกำลังพยายามฝึกฝนทักษะรูปแบบการออกแบบของฉันและฉันก็สงสัยว่าความแตกต่างระหว่างรูปแบบเหล่านี้คืออะไร? ทั้งหมดนี้ดูเหมือนว่าเป็นสิ่งเดียวกัน - สรุปลอจิกฐานข้อมูลสำหรับเอนทิตีเฉพาะดังนั้นรหัสการโทรจึงไม่มีความรู้เกี่ยวกับเลเยอร์การคงอยู่ที่อยู่เบื้องหลัง จากการวิจัยสั้น ๆ ของฉันพวกเขาทั้งหมดมักใช้วิธีการ CRUD มาตรฐานของคุณและสรุปรายละเอียดเฉพาะฐานข้อมูล นอกเหนือจากรูปแบบการตั้งชื่อ (เช่น CustomerMapper กับ CustomerDAO เทียบกับ CustomerGateway กับ CustomerRepository) ความแตกต่างคืออะไรถ้ามี? หากมีความแตกต่างคุณจะเลือกอย่างใดอย่างหนึ่งเมื่อใด ในอดีตฉันจะเขียนโค้ดคล้ายกับสิ่งต่อไปนี้ (ง่ายขึ้นโดยธรรมชาติ - ปกติฉันจะไม่ใช้คุณสมบัติสาธารณะ): public class Customer { public long ID; public string FirstName; public string LastName; public string CompanyName; } public interface ICustomerGateway { IList<Customer> GetAll(); Customer GetCustomerByID(long id); …

11
จะทราบได้อย่างไรว่าไฟล์ DLL ดั้งเดิมถูกคอมไพล์เป็น x64 หรือ x86?
ฉันต้องการตรวจสอบว่าแอสเซมบลีเนทีฟเป็นไปตาม x64 หรือ x86 จากแอปพลิเคชันโค้ดที่มีการจัดการ ( C # ) ฉันคิดว่ามันต้องอยู่ที่ไหนสักแห่งในส่วนหัว PE เนื่องจากตัวโหลดระบบปฏิบัติการจำเป็นต้องรู้ข้อมูลนี้ แต่ฉันหาไม่เจอ แน่นอนว่าฉันชอบทำในโค้ดที่มีการจัดการ แต่ถ้าจำเป็นฉันสามารถใช้ C ++ ดั้งเดิมได้
133 c#  .net  winapi  64-bit  x86-64 

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