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

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

30
จะเพิ่ม Timeout ใน Console.ReadLine () ได้อย่างไร?
ฉันมีแอปคอนโซลที่ฉันต้องการให้ผู้ใช้xวินาทีในการตอบสนองต่อการแจ้งเตือน หากไม่มีการป้อนข้อมูลหลังจากช่วงเวลาหนึ่งตรรกะของโปรแกรมควรดำเนินต่อไป เราถือว่าการหมดเวลาหมายถึงการตอบสนองที่ว่างเปล่า วิธีที่ตรงไปตรงมาที่สุดในการเข้าถึงสิ่งนี้คืออะไร?
122 c#  .net  console  timeout  io 

16
ตรวจสอบว่ารายการว่างเปล่าด้วย LINQ
วิธีใด "ดีที่สุด" (โดยคำนึงถึงความเร็วและความสามารถในการอ่าน) ในการพิจารณาว่ารายการว่างหรือไม่ แม้ว่ารายการจะเป็นประเภทIEnumerable<T>และไม่มีคุณสมบัติ Count ก็ตาม ตอนนี้ฉันกำลังโยนระหว่างสิ่งนี้: if (myList.Count() == 0) { ... } และนี่: if (!myList.Any()) { ... } ฉันเดาว่าตัวเลือกที่สองเร็วกว่าเนื่องจากจะกลับมาพร้อมผลลัพธ์ทันทีที่เห็นรายการแรกในขณะที่ตัวเลือกที่สอง (สำหรับ IEnumerable) จะต้องไปที่ทุกรายการเพื่อส่งคืนการนับ ดังที่กล่าวไว้ตัวเลือกที่สองดูเหมือนว่าคุณสามารถอ่านได้หรือไม่? คุณต้องการอะไร หรือคุณสามารถคิดวิธีที่ดีกว่าในการทดสอบรายการว่างได้หรือไม่? การตอบสนองของEdit @ lassevk ดูเหมือนจะมีเหตุผลมากที่สุดควบคู่ไปกับการตรวจสอบรันไทม์เล็กน้อยเพื่อใช้การนับแคชหากเป็นไปได้ดังนี้: public static bool IsEmpty<T>(this IEnumerable<T> list) { if (list is ICollection<T>) return ((ICollection<T>)list).Count == 0; return !list.Any(); }
122 c#  .net  linq  list 

8
ถึงเวิร์กโฟลว์หรือไม่สู่เวิร์กโฟลว์?
ฉันรับผิดชอบทีมนักพัฒนาที่กำลังจะเริ่มพัฒนาระบบการเคลมประกันที่มีน้ำหนักเบา ระบบเกี่ยวข้องกับงานด้วยตนเองและเวิร์กโฟลว์ทางธุรกิจจำนวนมากและเรากำลังพิจารณาการใช้ Windows Workflow (.NET 4.0) ตัวอย่างของโดเมนธุรกิจมีดังนี้: ผู้ถือกรมธรรม์โทรไปที่ศูนย์ติดต่อเพื่อยื่นคำร้อง "เหตุการณ์" นี้ทำให้งานย่อยสองงานเริ่มดำเนินการด้วยตนเองพร้อมกันและอาจใช้เวลาดำเนินการนาน ตรวจสอบลูกค้าว่ามีการฉ้อโกง - ขั้นตอนด้วยตนเองโดยผู้ประกอบการเรียก บริษัท สินเชื่อหลายแห่งเพื่อตรวจสอบและประเมินศักยภาพของลูกค้าที่ฉ้อโกง จากที่นี่งานย่อยสามารถป้อนสถานะย่อยได้หลายสถานะ (กำลังดำเนินการตรวจสอบ, การตรวจสอบการอ้างอิงล้มเหลว, การตรวจสอบการอ้างอิงผ่าน ฯลฯ ) ส่งสินค้าไปยังศูนย์ซ่อม - กระบวนการแบบแมนนวลซึ่งสินค้าที่ผู้ถือกรมธรรม์ยื่นข้อเรียกร้องจะถูกส่งไปที่ศูนย์ซ่อมเพื่อแก้ไข จากที่นี่งานย่อยสามารถป้อนสถานะย่อยได้หลายสถานะ (กำลังรอการซ่อมแซมอยู่ระหว่างดำเนินการซ่อมแซมโพสต์ ฯลฯ ) การอ้างสิทธิ์สามารถดำเนินการได้ต่อเมื่อสถานะของงานย่อยแต่ละงานถึงสถานะที่กำหนดไว้ล่วงหน้า (ตามกฎทางธุรกิจ) ดูเหมือนว่า Workflow จะเป็นตัวเลือกเทคโนโลยีที่ดีที่สุด อย่างไรก็ตามฉันมีข้อกังวลเล็กน้อยในการใช้ WF 4.0 ชุดทักษะ - เมื่อดูชุดทักษะของนักพัฒนาโดยเฉลี่ยแล้วฉันไม่เห็นนักพัฒนาหลายคนที่เข้าใจหรือรู้จักเวิร์กโฟลว์ ความสามารถในการบำรุงรักษา - ดูเหมือนว่าชุมชนจะได้รับการสนับสนุนเพียงเล็กน้อยสำหรับโครงการ WF 4.0 และการขาดทักษะนี้ทำให้เกิดความกังวลเกี่ยวกับความสามารถในการบำรุงรักษา อุปสรรคในการเข้า - ฉันรู้สึกว่า Windows Workflow …

3
จะเพิ่มการติดตาม (แบบง่าย) ใน C # ได้อย่างไร? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันต้องการแนะนำการติดตามแอปพลิเคชัน C # ที่ฉันกำลังเขียนอยู่ น่าเศร้าที่ฉันจำไม่ได้เลยว่ามันทำงานอย่างไรและต้องการบทช่วยสอนที่มีคุณสมบัติอ้างอิงเพื่อตรวจสอบเป็นระยะ ๆ ควรรวมถึง: App.config / Web.config สิ่งที่จะเพิ่มสำหรับการลงทะเบียน TraceListeners วิธีตั้งค่าในแอปพลิเคชันการโทร คุณรู้จัก uber tutorial ที่เราควรลิงค์หรือไม่? แก้ไข: Glenn Slaven ชี้ฉันไปในทิศทางที่ถูกต้อง เพิ่มสิ่งนี้ใน App.config / Web.config ของคุณภายใน<configuration/>: <system.diagnostics> <trace autoflush="true"> <listeners> <add type="System.Diagnostics.TextWriterTraceListener" name="TextWriter" initializeData="trace.log" /> </listeners> </trace> </system.diagnostics> สิ่งนี้จะเพิ่ม a …
122 c#  trace 

11
ทำไมต้องใช้อินเทอร์เฟซอย่างชัดเจน?
ดังนั้นกรณีการใช้งานที่ดีสำหรับการใช้งานอินเทอร์เฟซอย่างชัดเจนคืออะไร? เป็นเพียงเพื่อให้คนที่ใช้คลาสไม่ต้องดูวิธีการ / คุณสมบัติทั้งหมดใน Intellisense?
122 c#  interface 

7
การผูกการมองเห็นของปุ่มกับค่าบูลใน ViewModel
ฉันจะผูกการมองเห็นของปุ่มกับค่าบูลใน ViewModel ของฉันได้อย่างไร <Button Height="50" Width="50" Style="{StaticResource MyButtonStyle}" Command="{Binding SmallDisp}" CommandParameter="{Binding}" Cursor="Hand" Visibility="{Binding Path=AdvancedFormat}" />
122 c#  wpf  xaml  data-binding 

4
ฉันจะใช้ Server.MapPath () จาก global.asax ได้อย่างไร
ฉันจำเป็นต้องใช้Server.MapPath()เพื่อรวมพา ธ ไฟล์บางไฟล์ที่ฉันเก็บไว้ในไฟล์web.config. อย่างไรก็ตามเนื่องจากServer.MapPath()อาศัย HttpContext ปัจจุบัน (ฉันคิดว่า) ฉันไม่สามารถทำสิ่งนี้ได้ เมื่อพยายามใช้วิธีนี้แม้ว่าจะ "ใช้ได้" ฉันก็ได้รับข้อยกเว้นดังต่อไปนี้: การทำงานของเซิร์ฟเวอร์ไม่พร้อมใช้งานในบริบทนี้ มีวิธีอื่นที่สามารถแม็พไดเร็กทอรีสัมพัทธ์รูทของเว็บเช่น~/App_Data/กับเส้นทางฟิสิคัลแบบเต็มเช่นC:\inetpub\wwwroot\project\App_data\?

6
เหตุใดจึงมักกำหนดแฟล็ก enums ด้วยค่าฐานสิบหก
หลายครั้งฉันเห็นการประกาศ flag enum ที่ใช้ค่าฐานสิบหก ตัวอย่างเช่น: [Flags] public enum MyEnum { None = 0x0, Flag1 = 0x1, Flag2 = 0x2, Flag3 = 0x4, Flag4 = 0x8, Flag5 = 0x10 } เมื่อฉันประกาศ enum ฉันมักจะประกาศเช่นนี้: [Flags] public enum MyEnum { None = 0, Flag1 = 1, Flag2 = 2, Flag3 = 4, Flag4 …
122 c#  .net  enums  enum-flags 

14
ได้รับคีย์หลายค่าที่ระบุของพจนานุกรมทั่วไปหรือไม่?
การรับค่าของคีย์จากพจนานุกรมทั่วไป. NET เป็นเรื่องง่าย: Dictionary<int, string> greek = new Dictionary<int, string>(); greek.Add(1, "Alpha"); greek.Add(2, "Beta"); string secondGreek = greek[2]; // Beta แต่การพยายามรับคีย์ที่กำหนดค่านั้นไม่ตรงไปตรงมาเพราะอาจมีหลายคีย์: int[] betaKeys = greek.WhatDoIPutHere("Beta"); // expecting single 2
122 c#  .net 


2
Resharper- ค้นหาคลาสที่ไม่ได้ใช้ทั้งหมด
ฉันรู้วิธีค้นหาการอ้างอิงที่ไม่ได้ใช้ของไฟล์เดียวโดยคลิกขวาที่ไฟล์แล้วเลือกตัวเลือก "ค้นหาการใช้งาน" มีวิธีใด ๆ ที่ฉันสามารถมองเห็นหรือได้รับรายชื่อของทุกชั้นเรียนที่ไม่ได้ใช้หรือไฟล์ในโครงการของฉัน?
122 c#  resharper 

2
ฉันจะรอจนกว่า ParallelForEach จะเสร็จสมบูรณ์ได้อย่างไร
ฉันใช้ TPL ในโปรเจ็กต์ปัจจุบันของฉันและใช้ Parallel.Foreach เพื่อหมุนเธรดจำนวนมาก คลาสงานประกอบด้วย Wait () เพื่อรอจนกว่างานจะเสร็จสมบูรณ์ เช่นนั้นฉันจะรอให้ ParallelForEach เสร็จสมบูรณ์แล้วไปเรียกใช้คำสั่งถัดไปได้อย่างไร

5
เหตุใดนิพจน์ C # แลมบ์ดาบางตัวจึงรวบรวมวิธีการคง
ดังที่คุณเห็นในโค้ดด้านล่างฉันได้ประกาศให้Action<>ออบเจ็กต์เป็นตัวแปร ใครช่วยแจ้งให้เราทราบได้ไหมว่าทำไมตัวแทนวิธีการดำเนินการนี้จึงทำงานเหมือนวิธีการคงที่ เหตุใดจึงส่งคืนtrueในรหัสต่อไปนี้ รหัส: public static void Main(string[] args) { Action<string> actionMethod = s => { Console.WriteLine("My Name is " + s); }; Console.WriteLine(actionMethod.Method.IsStatic); Console.Read(); } เอาท์พุท:
122 c#  .net  reflection  lambda 

19
ASP.NET MVC - การแนบเอนทิตีประเภท 'MODELNAME' ล้มเหลวเนื่องจากเอนทิตีอื่นประเภทเดียวกันมีค่าคีย์หลักเดียวกันอยู่แล้ว
สรุปได้ว่ามีข้อยกเว้นเกิดขึ้นระหว่างการโพสต์โมเดล wrapper และเปลี่ยนสถานะของรายการหนึ่งเป็น 'Modified' ก่อนที่จะเปลี่ยนสถานะสถานะจะถูกตั้งค่าเป็น 'แยกออก' แต่การเรียก Attach () จะทำให้เกิดข้อผิดพลาดเดียวกัน ฉันใช้ EF6 โปรดค้นหารหัสของฉันด้านล่าง (ชื่อรุ่นถูกเปลี่ยนเพื่อให้อ่านง่ายขึ้น) แบบ // Wrapper classes public class AViewModel { public A a { get; set; } public List<B> b { get; set; } public C c { get; set; } } ตัวควบคุม public ActionResult Edit(int? id) { …

4
เลือกหลายระเบียนตามรายการของ Id กับ linq
ฉันมีรายการที่มี Id ของUserProfileตารางของฉัน ฉันจะเลือกทั้งหมดUserProfilesตามรายการรหัสที่ฉันvarใช้งานได้LINQอย่างไร? var idList = new int[1, 2, 3, 4, 5]; var userProfiles = _dataContext.UserProfile.Where(......); ฉันติดอยู่ตรงนี้ ฉันสามารถทำได้โดยใช้สำหรับลูปเป็นต้น แต่ฉันควรทำเช่นนี้กับLINQ.
122 c#  linq 

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