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

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

10
จะใส่บรรทัดใหม่ลงในตัวควบคุม wpf TextBlock ได้อย่างไร
ฉันกำลังดึงข้อความจากไฟล์ XML และฉันต้องการแทรกบรรทัดใหม่ที่ตีความโดยบล็อกข้อความที่แสดงเป็นบรรทัดใหม่ ฉันพยายามแล้ว: <data>Foo bar baz \n baz bar</data> แต่ข้อมูลยังคงแสดงโดยไม่ขึ้นบรรทัดใหม่ ฉันตั้งค่าเนื้อหาของ<data>ผ่าน.Textคุณสมบัติผ่าน C # ฉันต้องใส่อะไรใน XML เพื่อให้แสดงบรรทัดใหม่ใน GUI ฉันได้ลองตั้งค่าข้อความใน XAML ด้วยตนเองแล้ว: <TextBlock Margin="0 15 0 0" Width="600"> There 
 is a new line. </TextBlock> และแม้ว่าอักขระที่เข้ารหัสจะไม่ปรากฏใน GUI แต่ก็ไม่ได้ให้บรรทัดใหม่แก่ฉัน
102 c#  wpf  newline  textblock 

9
จะใช้ System.Net.HttpClient เพื่อโพสต์ประเภทที่ซับซ้อนได้อย่างไร
ฉันมีประเภทที่ซับซ้อนที่กำหนดเองซึ่งฉันต้องการใช้งานโดยใช้ Web API public class Widget { public int ID { get; set; } public string Name { get; set; } public decimal Price { get; set; } } และนี่คือวิธีควบคุม API เว็บของฉัน ฉันต้องการโพสต์วัตถุนี้ดังนี้: public class TestController : ApiController { // POST /api/test public HttpResponseMessage<Widget> Post(Widget widget) { widget.ID = 1; …

14
เหตุใดฉันจึงควรหลีกเลี่ยงการใช้ Properties ใน C #
ในหนังสือที่ยอดเยี่ยมของเขา CLR Via C # เจฟฟรีย์ริชเตอร์กล่าวว่าเขาไม่ชอบคุณสมบัติและไม่แนะนำให้ใช้ เขาให้เหตุผลบางอย่าง แต่ฉันไม่เข้าใจจริงๆ ใครช่วยอธิบายให้ฉันฟังได้ไหมว่าทำไมฉันจึงควรหรือไม่ควรใช้คุณสมบัติ? ใน C # 3.0 ด้วยคุณสมบัติอัตโนมัติสิ่งนี้เปลี่ยนไปหรือไม่? ในการอ้างอิงฉันได้เพิ่มความคิดเห็นของ Jeffrey Richter: •คุณสมบัติอาจเป็นแบบอ่านอย่างเดียวหรือเขียนอย่างเดียว การเข้าถึงข้อมูลสามารถอ่านและเขียนได้เสมอ หากคุณกำหนดคุณสมบัติวิธีที่ดีที่สุดคือเสนอทั้ง get และ set accessor method •วิธีคุณสมบัติอาจทำให้เกิดข้อยกเว้น การเข้าถึงฟิลด์ไม่เคยทำให้เกิดข้อยกเว้น •คุณสมบัติไม่สามารถส่งผ่านเป็นพารามิเตอร์ out หรือ ref ไปยังเมธอดได้ ฟิลด์สามารถ ตัวอย่างเช่นรหัสต่อไปนี้จะไม่รวบรวม: using System; public sealed class SomeType { private static String Name { get { return null; …
102 c#  properties 


30
การแก้ไขข้อบกพร่องไม่เริ่ม [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ เมื่อฉันกด F5 (โหมดดีบั๊ก) ไม่มีอะไรเกิดขึ้น การสร้างทำงานได้อย่างถูกต้องไฟล์ exe ฉันสามารถเปิดใช้งานได้อย่างถูกต้อง แต่ไม่สามารถเริ่มการดีบักได้ ทำไม?


7
วิธีตรวจสอบโดยทางโปรแกรมว่ากระบวนการใดเป็น 32 บิตหรือ 64 บิต
แอปพลิเคชัน C # ของฉันจะตรวจสอบได้อย่างไรว่าแอปพลิเคชัน / กระบวนการเฉพาะ (หมายเหตุ: ไม่ใช่กระบวนการปัจจุบัน) กำลังทำงานในโหมด 32 บิตหรือ 64 บิต ตัวอย่างเช่นฉันอาจต้องการค้นหากระบวนการโดยใช้ชื่อเช่น 'abc.exe' หรือตามหมายเลขรหัสกระบวนการ
102 c#  process  32bit-64bit 

15
ฉันต้องใช้เอกสารอ้างอิงใดเพื่อใช้ Microsoft.Office.Interop.Excel ใน. NET
ฉันสนใจที่จะใช้ C # เพื่อจัดการ / อัตโนมัติไฟล์ Excel หลังจากท่องเว็บฉันพบVSTOแต่ดูเหมือนว่าคุณไม่สามารถใช้สิ่งนั้นใน Visual Studio Express Edition ได้ดังนั้นฉันจึงไม่สามารถใช้สิ่งนั้นได้ เมื่อไม่กี่นาทีที่ผ่านมาฉันสังเกตเห็นคำถามในไซต์นี้ซึ่งใช้เนมสเปซนี้ในโค้ด: Microsoft.Office.Interop.Excel ดังนั้นฉันจึงสงสัยว่าทั้งหมดที่ฉันต้องใช้นั้นคือการเพิ่มข้อมูลอ้างอิงที่จำเป็นหรือไม่และถ้าเป็นเช่นนั้นจะต้องเพิ่มการอ้างอิงใด อัปเดต ฉันติดตั้ง "Primary Interop Assemblies" ตามคำตอบที่ได้รับการยอมรับ แต่ด้วยเหตุผลบางประการพวกเขายังคงหายไปในกล่องโต้ตอบเพิ่มการอ้างอิงภายใต้ ".NET" แต่มีอยู่ใน GAC ฉันจึงเพิ่มข้อมูลอ้างอิงโดยใช้ "เรียกดู" และอยู่Microsoft.Office.Interop.Excel.dllในโฟลเดอร์ GAC แต่หากมองหาคำถามที่คล้ายกันในไซต์นี้เกี่ยวกับการเพิ่มข้อมูลอ้างอิงจาก GAC ดูเหมือนว่าไม่แนะนำให้ทำเช่นนี้

10
ไม่มีการลงทะเบียน IUserTokenProvider
ฉันเพิ่งอัปเดตAsp.Net Identity Coreแบบฟอร์มใบสมัคร 1.0 เป็น 2.0 มีฟีเจอร์ใหม่ที่อยากลองใช้GenerateEmailConfirmationTokenงาน ฯลฯ ฉันใช้โปรเจ็กต์นี้เป็นข้อมูลอ้างอิง เมื่อผู้ใช้พยายามลงทะเบียนฉันได้รับข้อผิดพลาดระหว่างการดำเนินการของวิธีการโพสต์การลงทะเบียน private readonly UserManager<ApplicationUser> _userManager; public ActionResult Register(RegisterViewModel model) { if (ModelState.IsValid) { var ifUserEXists = _userManager.FindByName(model.EmailId); if (ifUserEXists == null) return View(model); var confirmationToken = _userRepository.CreateConfirmationToken();//this is how i'm generating token currently. var result = _userRepository.CreateUser(model,confirmationToken); var user = _userManager.FindByName(model.EmailId); …

11
ฉันจะสร้างไฟล์เก็บถาวร 7-Zip ด้วย. NET ได้อย่างไร
ฉันจะสร้างไฟล์เก็บถาวร 7-Zip จากแอปพลิเคชันคอนโซล C # ได้อย่างไร ฉันต้องสามารถแยกไฟล์เก็บถาวรโดยใช้โปรแกรม7-Zipปกติที่มีอยู่ทั่วไป นี่คือผลลัพธ์ของฉันพร้อมตัวอย่างที่ให้ไว้เป็นคำตอบสำหรับคำถามนี้ "ปลอกกระสุนออก" เพื่อ 7z.exe - นี้เป็นวิธีที่ง่ายและมีประสิทธิภาพมากที่สุดและผมสามารถยืนยันได้ว่ามันใช้งานได้เป็นอย่างดี ตามที่workmad3 กล่าวไว้ฉันแค่ต้องรับประกันว่า 7z.exe ได้รับการติดตั้งบนเครื่องเป้าหมายทั้งหมดซึ่งเป็นสิ่งที่ฉันสามารถรับประกันได้ 7Zip ในการบีบอัดหน่วยความจำ - หมายถึงการบีบอัดคุกกี้ "ในหน่วยความจำ" ก่อนส่งไปยังไคลเอนต์ วิธีนี้ดูเหมือนจะค่อนข้างดี วิธีการห่อหุ้ม (ตัดLZMA SDK ) byte[]ประเภทกลับ เมื่อฉันเขียนbyte[]อาร์เรย์ไปยังไฟล์ฉันไม่สามารถแตกโดยใช้ 7-Zip ( File.7z is not supported archive) 7zSharp Wrapper (พบใน CodePlex) - นี่ห่อ 7z exe / LZMA SDK ฉันอ้างอิงโปรเจ็กต์จากแอพของฉันและมันสร้างไฟล์เก็บถาวรบางไฟล์ได้สำเร็จ แต่ฉันไม่สามารถแตกไฟล์โดยใช้โปรแกรม …
102 c#  .net  compression  7zip 

1
ใช้งบและรอคำหลักเล่นอย่างดีใน c #
ฉันมีสถานการณ์ที่ฉันasyncโทรไปยังเมธอดที่ส่งคืนและIDisposableอินสแตนซ์ ตัวอย่างเช่น: HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")); ก่อนหน้าasyncนี้อยู่ในที่เกิดเหตุเมื่อทำงานกับIDisposableอินสแตนซ์การโทรและรหัสที่ใช้ตัวแปร "response" นี้จะรวมอยู่ในคำสั่งใช้ คำถามของฉันคือยังคงเป็นแนวทางที่ถูกต้องหรือไม่เมื่อasyncคีย์เวิร์ดถูกโยนเข้าไปในส่วนผสม? แม้ว่าโค้ดจะคอมไพล์ แต่คำสั่งใช้จะยังคงทำงานตามที่คาดไว้ในทั้งสองตัวอย่างด้านล่างนี้หรือไม่ ตัวอย่าง 1 using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"))) { // Do something with the response return true; } ตัวอย่าง 2 using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"))) { await this.responseLogger.LogResponseAsync(response); return true; }

2
เหตุใดขนาดสแต็กใน C # จึงเท่ากับ 1 MB
พีซีในปัจจุบันมี RAM จริงจำนวนมาก แต่ขนาดสแต็กของ C # มีเพียง 1 MB สำหรับกระบวนการ 32 บิตและ 4 MB สำหรับกระบวนการ 64 บิต ( ความจุกองใน C # ) ทำไมขนาดสแต็กใน CLR จึงยังมี จำกัด แล้วทำไมถึงเป็น 1 MB (4 MB) (ไม่ใช่ 2 MB หรือ 512 KB) เหตุใดจึงตัดสินใจใช้เงินจำนวนนี้ ฉันสนใจข้อพิจารณาและเหตุผลเบื้องหลังการตัดสินใจนั้น
102 c#  stack  clr  stack-size 


7
เรียกใช้สคริปต์ PowerShell จาก C # ด้วย Commandline Arguments
ฉันต้องการเรียกใช้สคริปต์ PowerShell จากภายใน C # สคริปต์ต้องการอาร์กิวเมนต์บรรทัดคำสั่ง นี่คือสิ่งที่ฉันได้ทำไปแล้ว: RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create(); Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration); runspace.Open(); RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace); Pipeline pipeline = runspace.CreatePipeline(); pipeline.Commands.Add(scriptFile); // Execute PowerShell script results = pipeline.Invoke(); scriptFile มีบางอย่างเช่น "C: \ Program Files \ MyProgram \ Whatever.ps1" สคริปต์ใช้อาร์กิวเมนต์บรรทัดคำสั่งเช่น "-key Value" ในขณะที่ Value อาจเป็นบางอย่างเช่นเส้นทางที่อาจมีช่องว่าง ฉันไม่ได้ทำงานนี้ …

22
ฉันจะใช้ LINQ ประกอบด้วย (สตริง []) แทนประกอบด้วย (สตริง) ได้อย่างไร
ฉันมีคำถามใหญ่ข้อหนึ่ง ฉันได้รับแบบสอบถาม linq ที่จะทำให้ดูเหมือนว่า: from xx in table where xx.uid.ToString().Contains(string[]) select xx ค่าของstring[]อาร์เรย์จะเป็นตัวเลขเช่น (1,45,20,10 ฯลฯ ... ) เริ่มต้นสำหรับการมี.Contains.Contains(string) ฉันต้องการให้ทำสิ่งนี้แทน: .Contains(string[])... แก้ไข:ผู้ใช้รายหนึ่งแนะนำให้เขียนคลาสส่วนขยายสำหรับstring[]. ฉันต้องการเรียนรู้วิธีการ แต่มีใครยินดีที่จะชี้ให้ฉันไปในทิศทางที่ถูกต้อง? แก้ไข: uid จะเป็นตัวเลขด้วย นั่นเป็นเหตุผลว่าทำไมจึงถูกแปลงเป็นสตริง ช่วยใคร?
102 c#  linq  string  contains 

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