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

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


6
LINQ ไปยัง SQL - Left Outer Join พร้อมกับเงื่อนไขการเข้าร่วมหลายแบบ
ฉันมี SQL ต่อไปนี้ซึ่งฉันพยายามจะแปลเป็น LINQ: SELECT f.value FROM period as p LEFT OUTER JOIN facts AS f ON p.id = f.periodid AND f.otherid = 17 WHERE p.companyid = 100 ฉันเห็นการใช้งานโดยทั่วไปของการเข้าร่วมด้านนอกด้านซ้าย (เช่น. into x from y in x.DefaultIfEmpty()ฯลฯ ) แต่ฉันไม่แน่ใจว่าจะแนะนำเงื่อนไขการเข้าร่วมอื่น ๆ ได้อย่างไร ( AND f.otherid = 17) แก้ไข ทำไมAND f.otherid = 17ส่วนเงื่อนไขของ …
148 c#  sql  linq  linq-to-sql  outer-join 

2
การสร้างงานที่กำหนดเวลาไว้
ฉันกำลังทำงานกับโครงการ C # WPF ฉันต้องอนุญาตให้ผู้ใช้สร้างและเพิ่มงานที่กำหนดเวลาไว้ใน Windows Task Scheduler ฉันจะทำสิ่งนี้ได้อย่างไรและฉันต้องการอะไรโดยใช้คำสั่งและการอ้างอิงเนื่องจากฉันไม่พบอะไรมากเมื่อค้นหาในอินเทอร์เน็ต
148 c#  wpf  scheduled-tasks 

14
แปลงถ่านเป็น int ใน C #
ฉันมีถ่านใน c #: char foo = '2'; ตอนนี้ฉันอยากให้ทั้ง 2 เป็น int ฉันพบว่า Convert.ToInt32 ส่งคืนค่าทศนิยมจริงของ char และไม่ใช่ตัวเลข 2 ข้อมูลต่อไปนี้จะทำงาน: int bar = Convert.ToInt32(new string(foo, 1)); int.parse ใช้งานได้กับสตริงเท่านั้นเช่นกัน ไม่มีฟังก์ชั่นพื้นเมืองใน C # ที่จะไปจากถ่านเพื่อ int โดยไม่ทำให้มันเป็นสตริง? ฉันรู้ว่านี่มันเล็กน้อย แต่ก็แปลก ๆ ที่ไม่มีคนพื้นเมืองที่ทำให้เกิดการเปลี่ยนแปลงโดยตรง
148 c#  char  int 

12
ฉันสามารถเขียนลงในคอนโซลในการทดสอบหน่วยได้หรือไม่ ถ้าใช่ทำไมไม่เปิดหน้าต่างคอนโซล
ฉันมีโครงการทดสอบใน Visual Studio ฉันใช้Microsoft.VisualStudio.TestTools.UnitTesting ฉันเพิ่มบรรทัดนี้ในหนึ่งในการทดสอบหน่วยของฉัน: Console.WriteLine("Some foo was very angry with boo"); Console.ReadLine(); เมื่อฉันรันการทดสอบการทดสอบจะผ่านไป แต่หน้าต่างคอนโซลจะไม่เปิดเลย มีวิธีทำให้หน้าต่างคอนโซลพร้อมใช้งานเพื่อให้สามารถโต้ตอบผ่านการทดสอบหน่วยได้หรือไม่



1
ทำไมคอมไพเลอร์ C # จึงแปลสิ่งนี้! = การเปรียบเทียบราวกับว่าเป็นการเปรียบเทียบ>
ฉันมีโอกาสบริสุทธิ์ค้นพบว่าคอมไพเลอร์ C # เปลี่ยนวิธีนี้: static bool IsNotNull(object obj) { return obj != null; } ... เข้าสู่CILนี้: .method private hidebysig static bool IsNotNull(object obj) cil managed { ldarg.0 // obj ldnull cgt.un ret } …หรือหากคุณต้องการดูรหัส C # ที่ถอดรหัสแล้ว: static bool IsNotNull(object obj) { return obj > null; // (note: this is …
147 c#  cil  il  notnull  binary-operators 

10
ค้นหาว่าเวลาปัจจุบันตกอยู่ในช่วงเวลาหรือไม่
ใช้. NET 3.5 ฉันต้องการตรวจสอบว่าเวลาปัจจุบันตกอยู่ในช่วงเวลาหรือไม่ จนถึงตอนนี้ฉันมีเวลาปัจจุบัน: DateTime currentTime = new DateTime(); currentTime.TimeOfDay; ฉันกำลังอธิบายวิธีการแปลงช่วงเวลาและเปรียบเทียบ จะใช้งานได้ไหม if (Convert.ToDateTime("11:59") <= currentTime.TimeOfDay && Convert.ToDateTime("13:01") >= currentTime.TimeOfDay) { //match found } UPDATE1: ขอบคุณทุกคนสำหรับคำแนะนำของคุณ ฉันไม่คุ้นเคยกับฟังก์ชั่น TimeSpan
147 c#  datetime  timespan 

9
มีวิธีการตรวจสอบว่า WPF กำลังทำงานในโหมดการออกแบบหรือไม่?
มีใครรู้บ้างเกี่ยวกับตัวแปรสถานะโกลบอลบางตัวที่มีอยู่เพื่อให้ฉันสามารถตรวจสอบว่ารหัสกำลังทำงานอยู่ในโหมดการออกแบบ (เช่นใน Blend หรือ Visual Studio) หรือไม่? มันจะมีลักษณะเช่นนี้: //pseudo code: if (Application.Current.ExecutingStatus == ExecutingStatus.DesignMode) { ... } เหตุผลที่ฉันต้องการ: เมื่อแอปพลิเคชันของฉันถูกแสดงในโหมดการออกแบบใน Expression Blend ฉันต้องการให้ ViewModel ใช้ "Design Customer class" แทนซึ่งมีข้อมูลจำลองอยู่ในนั้นซึ่งนักออกแบบสามารถดูในโหมดการออกแบบ อย่างไรก็ตามเมื่อแอปพลิเคชั่นกำลังดำเนินการจริง ๆ ฉันต้องการให้ ViewModel ใช้คลาสลูกค้าจริงซึ่งส่งคืนข้อมูลจริง ขณะนี้ฉันแก้ปัญหานี้โดยมีผู้ออกแบบก่อนที่เขาจะทำงานให้ไปที่ ViewModel และเปลี่ยน "ApplicationDevelopmentMode.Executing" เป็น "ApplicationDevelopmentMode.Designing": public CustomersViewModel() { _currentApplicationDevelopmentMode = ApplicationDevelopmentMode.Designing; } public ObservableCollection<Customer> GetAll { …
147 c#  wpf  expression-blend 


5
การทดสอบหน่วย ASP.NET WebApi ด้วย Request.CreateResponse
ฉันกำลังพยายามเขียนการทดสอบหน่วยสำหรับ ApiController ของฉันและประสบปัญหาบางอย่าง มีวิธีการขยายที่ดีที่เรียกว่า Request.CreateResponse ที่ช่วยได้มากในการสร้างการตอบสนอง public HttpResponseMessage Post(Product product) { var createdProduct = repo.Add(product); return this.Request.CreateResponse(HttpStatusCode.Created, createdProduct); } มีวิธีใดในการเยาะเย้ย CreateResponse โดยไม่ใช้ mocks บางส่วนหรือใช้โดยตรงของ "HttpResponseMessage ใหม่ (... )"

8
ผลลัพธ์ของ System.Diagnostics.Debug.Write ปรากฏที่ใด
โปรแกรม C # ต่อไปนี้ (สร้างด้วยcsc hello.cs) พิมพ์เฉพาะHello via Console!บนคอนโซลและHello via OutputDebugStringในหน้าต่าง DebugView อย่างไรก็ตามฉันไม่เห็นSystem.Diagnostics.*สายใดเลย ทำไมถึงเป็นอย่างนั้น? using System; using System.Runtime.InteropServices; class Hello { [DllImport("kernel32.dll", CharSet=CharSet.Auto)] public static extern void OutputDebugString(string message); static void Main() { Console.Write( "Hello via Console!" ); System.Diagnostics.Debug.Write( "Hello via Debug!" ); System.Diagnostics.Trace.Write( "Hello via Trace!" ); OutputDebugString( "Hello …
147 c#  debugging 

5
การยกระดับสิทธิ์ของกระบวนการโดยทางโปรแกรม?
ฉันพยายามที่จะติดตั้งใช้บริการ InstallUtil.exe Process.Startแต่เรียกใช้ผ่าน นี่คือรหัส: ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath); System.Diagnostics.Process.Start (startInfo); ที่ใดm_strInstallUtilคือพา ธ แบบเต็มและ exe ไปที่ "InstallUtil.exe" และstrExePathเป็นพา ธ / ชื่อแบบเต็มไปยังบริการของฉัน การเรียกใช้ไวยากรณ์บรรทัดคำสั่งจากพรอมต์คำสั่งที่ยกระดับทำงาน เรียกใช้จากแอปของฉัน (โดยใช้รหัสด้านบน) ไม่ได้ ฉันคิดว่าฉันกำลังจัดการกับปัญหาการยกระดับกระบวนการบางอย่างดังนั้นฉันจะเรียกใช้กระบวนการของฉันในสถานะที่สูงขึ้นได้อย่างไร ฉันต้องมองหาShellExecuteสิ่งนี้หรือไม่? นี่คือทั้งหมดใน Windows Vista ฉันใช้กระบวนการในตัวดีบัก VS2008 ที่ยกระดับเป็นสิทธิ์ผู้ดูแลระบบ ฉันลองตั้งค่าแล้วstartInfo.Verb = "runas";แต่ดูเหมือนจะไม่สามารถแก้ปัญหาได้

7
วิธีรับค่าคุณสมบัติตามชื่อ
มีวิธีการรับค่าคุณสมบัติของวัตถุตามชื่อหรือไม่ เช่นถ้าฉันมี: public class Car : Vehicle { public string Make { get; set; } } และ var car = new Car { Make="Ford" }; ฉันต้องการเขียนวิธีการที่ฉันสามารถส่งผ่านในชื่อคุณสมบัติและมันจะส่งกลับค่าคุณสมบัติ เช่น: public string GetPropertyValue(string propertyName) { return the value of the property; }
147 c#  asp.net  reflection 

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