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

C # เป็นภาษาการเขียนโปรแกรมเชิงวัตถุที่มีการจัดการและรวบรวมขยะที่สร้างขึ้นโดย Microsoft ควบคู่ไปกับแพลตฟอร์ม. NET

4
การเขียนการทดสอบหน่วยสำหรับชั้นเรียนที่เริ่มต้น EXE ภายนอก
ฉันเขียนคลาส C # ที่ใช้เพื่อเริ่มรายการ EXE (ไม่ใช่ของฉัน - EXE ของบุคคลที่สามที่ฉันต้องเรียกใช้) และให้พวกเขาทำงานต่อไป (จะตรวจสอบเป็นครั้งคราวเพื่อให้แน่ใจว่ามันยังคงทำงานอยู่และเริ่มต้นหากไม่ได้) . ฉันสามารถทดสอบตรรกะพื้นฐานของการเพิ่มการเอาออกและอื่น ๆ ได้ ฉันจะทดสอบหน่วยได้อย่างไรว่างานที่แท้จริงในการดูแล EXEs จะทำงานได้อย่างไร ความคิดเริ่มต้นของฉันคือการเริ่มต้นหุ่นจำลอง EXE ที่ปิดตัวเองหลังจาก 1 วินาทีจากนั้นใช้เพื่อทดสอบ นั่นไม่ใช่ขอบเขตของการทดสอบหน่วยหรือไม่

8
การปรับปรุง C # foreach?
ฉันพบปัญหานี้บ่อยครั้งในระหว่างการเขียนโปรแกรมซึ่งฉันต้องการให้มีการนับดัชนีแบบวนซ้ำภายใน foreach และต้องสร้างจำนวนเต็มใช้การเพิ่มขึ้น ฯลฯ จะไม่เป็นการดีถ้ามีคำหลักที่แนะนำ วงนับภายใน foreach หรือไม่? มันสามารถใช้กับลูปอื่นได้เช่นกัน สิ่งนี้ขัดกับการใช้คำหลักที่เห็นว่าคอมไพเลอร์จะไม่อนุญาตให้ใช้คำหลักนี้ที่ใดก็ได้ แต่อยู่ในโครงสร้างลูปหรือไม่
9 c#  loops 

3
เหตุใดโมดูล. NET จึงแยกชื่อไฟล์โมดูลออกจากเนมสเปซ
ในการปรับใช้ภาษาการเขียนโปรแกรม Scheme (มาตรฐาน R6RS) ฉันสามารถนำเข้าโมดูลดังต่อไปนี้: (import (abc def xyz)) ระบบจะพยายามค้นหาไฟล์$DIR/abc/def/xyz.slsที่$DIRมีไดเรกทอรีซึ่งคุณเก็บโมดูล Scheme ของคุณไว้ xyz.slsเป็นซอร์สโค้ดสำหรับโมดูลและถูกคอมไพล์อย่างรวดเร็วหากจำเป็น ระบบโมดูล Ruby, Python และ Perl นั้นคล้ายกันในส่วนนี้ ในทางกลับกัน C # นั้นเกี่ยวข้องกับอีกเล็กน้อย ก่อนอื่นคุณมีไฟล์ dll ที่คุณต้องอ้างอิงตามโปรเจ็กต์ คุณต้องอ้างอิงแต่ละอย่างชัดเจน สิ่งนี้เกี่ยวข้องมากกว่าการพูดวางไฟล์ dll ในไดเรกทอรีและให้ C # เลือกพวกเขาตามชื่อ ประการที่สองไม่มีการตั้งชื่อการติดต่อแบบหนึ่งต่อหนึ่งระหว่างชื่อไฟล์ dll และเนมสเปซที่นำเสนอโดย dll ฉันสามารถชื่นชมความยืดหยุ่นนี้ แต่ก็สามารถออกไปจากมือ (และมี) เพื่อให้เป็นรูปธรรมมันจะดีถ้าเมื่อฉันพูดแบบนี้using abc.def.xyz;C # จะพยายามค้นหาไฟล์abc/def/xyz.dllในบางไดเรกทอรีที่ C # รู้ที่จะดู (กำหนดค่าได้ตามโครงการ) ฉันพบว่า Ruby, …

2
การเว้นวรรคแบบนี้น่าอึดอัดใจไหม
ในการอ่านรหัสโปรแกรมเมอร์อื่นเขาใช้รูปแบบที่ฉันไม่เคยเห็นมาก่อน เช่น namespace MyNs.HereWeAre {//tab here for some reason public class SomeClass {//here's another tab public string Method() {//yet another tab string _variable = "";//no tab implementation return _variable; } }//eof - class (Yes these eof comments are on every file) }//eof - namespace // eof - file ฉันจะยอมรับ ... …

3
แทนที่รหัสประเภทด้วยคลาส (จาก Refactoring [Fowler])
กลยุทธ์นี้เกี่ยวข้องกับการแทนที่สิ่งนี้: public class Politician { public const int Infidelity = 0; public const int Embezzlement = 1; public const int FlipFlopping = 2; public const int Murder = 3; public const int BabyKissing = 4; public int MostNotableGrievance { get; set; } } ด้วย: public class Politician { public MostNotableGrievance …
9 c#  refactoring 

1
ฉันจะเริ่มต้นใช้ TDD เพื่อเขียนโค้ดฟังก์ชันการทำงานแบบง่ายได้อย่างไร
ฉันมีส่วนสำคัญของ TDD ฉันขายมันมีประโยชน์และฉันมีคำสั่งที่สมเหตุสมผลของกรอบ MSTEST อย่างไรก็ตามจนถึงวันนี้ฉันยังไม่สามารถเปลี่ยนเป็นวิธีการพัฒนาหลักได้ ส่วนใหญ่ฉันใช้เป็นตัวแทนในการเขียนแอปคอนโซลเป็นไดรเวอร์ทดสอบ (วิธีดั้งเดิมของฉัน) สิ่งที่มีประโยชน์ที่สุดสำหรับฉันคือวิธีที่มันดูดซับบทบาทของการทดสอบการถดถอย ฉันยังไม่ได้สร้างอะไรเลยที่แยกพฤติกรรมทดสอบต่าง ๆ โดยเฉพาะซึ่งเป็นอีกส่วนใหญ่ของภาพที่ฉันรู้ ดังนั้นคำถามนี้เพื่อขอคำแนะนำเกี่ยวกับสิ่งที่การทดสอบครั้งแรกที่ฉันอาจเขียนสำหรับงานพัฒนาต่อไปนี้: ฉันต้องการผลิตรหัสที่ห่อหุ้มการดำเนินงานในแบบของผู้ผลิต / ผู้บริโภค ฉันหยุดและตัดสินใจที่จะเขียนคำถามนี้หลังจากที่ฉันเขียนรหัสนี้ (สงสัยว่าถ้าฉันสามารถใช้ TDD จริงในเวลานี้) รหัส: interface ITask { Guid TaskId { get; } bool IsComplete { get; } bool IsFailed { get; } bool IsRunning { get; } } interface ITaskContainer { Guid AddTask(ICommand action); …
9 c#  tdd 

7
ฉันควรจะใส่ใจไหมถ้าอัตราส่วน LOC ต่อวันของฉันสูงเกินไป [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ขณะนี้ฉันกำลังทำงานในโครงการอินดี้ดังนั้นฉันจึงไม่ได้มีความหรูหราตลอดการทดสอบของมนุษย์หรือการตรวจสอบรหัสภายนอก - อย่างไรก็ตามฉันไม่เห็นข้อผิดพลาดที่ยากในรหัสปัจจุบันของฉัน (ฉันแก้ไขได้ตามที่เห็น และส่วนใหญ่พวกเขาเพียงแค่ชื่อฟิลด์ผิดและสิ่งที่คุณแก้ไขในหนึ่งหรือสองนาที) และฉันทดสอบหลังจากใช้งานคุณลักษณะใด ๆ ก่อนที่จะผลักดันมัน เมื่อเร็ว ๆ นี้หมายเลข LOC ของฉันอยู่ที่ประมาณ 400 ต่อวัน (สำหรับบันทึกเป็น C #) และฉันไม่เพียง แต่ใช้ระบบใหม่ แต่ยังเขียนสิ่งที่ฉันเขียนไปแล้วและแก้ไขข้อบกพร่องบางอย่าง ฉันควรจะใส่ใจไหม มันเป็นสัญญาณที่ฉันต้องหยุดและตรวจสอบรหัสทั้งหมดที่ฉันได้เขียนถึงวันนี้และ refactor มันได้หรือไม่
9 c#  refactoring 

2
การเลียนแบบ“ RBAC AuthZ” ของ Exchange Server ในแอปพลิเคชันของฉันเอง… (มีอะไรที่คล้ายกันไหม)
Exchange 2010 มีรูปแบบการมอบหมายที่กลุ่มwinrm cmdlets ถูกจัดกลุ่มอย่างเป็นสาระสำคัญในบทบาทและบทบาทที่กำหนดให้กับผู้ใช้ ( แหล่งรูปภาพ ) นี่เป็นโมเดลที่ยอดเยี่ยมและมีความยืดหยุ่นโดยพิจารณาว่าฉันจะใช้ประโยชน์จาก PowerShell ได้อย่างไรในขณะที่ใช้เทคโนโลยีระดับต่ำ (WCF, SOAP และอื่น ๆ ) และไม่ต้องใช้ซอฟต์แวร์เพิ่มเติมในฝั่งไคลเอ็นต์ ( แหล่งรูปภาพ ) คำถาม (s) มีวิธีใดบ้างที่ฉันจะใช้ประโยชน์จากรูปแบบการมอบหมายของ Exchange ในแอปพลิเคชัน. NET ของฉัน มีใครพยายามเลียนแบบรุ่นนี้หรือไม่? ถ้าฉันต้องเริ่มจากศูนย์ฉันจะเลียนแบบวิธีการนี้อย่างไร

7
string.format กับตัวแปรเทียบกับตัวแปรอินไลน์
ข้อดี / ข้อเสีย (ถ้ามี) คืออะไรที่จะใช้ string output; int i = 10; output = string.Format("the int is {0}", i); กับ string output; int i = 10; output = "the int is " + i; ฉันได้ใช้ตัวอย่างหลังเสมอ แต่ดูเหมือนว่าบทเรียนออนไลน์ส่วนใหญ่จะใช้ตัวอย่าง string.format ฉันไม่คิดว่ามีความแตกต่างที่แท้จริงในแง่ของประสิทธิภาพความคิดเริ่มต้นของฉันคือ coder จึงไม่ต้องแยกสตริงเพื่อแทรกตัวแปร
9 c#  .net  vb.net  strings 

4
วิธีที่ดีที่สุดในการค้นหาข้อมูลจาก MS SQL Server ใน C #?
วิธีที่ดีที่สุดในการสืบค้นข้อมูลจาก MS SQL Server ใน C # คืออะไร ฉันรู้ว่ามันไม่ใช่วิธีปฏิบัติที่ดีที่จะมีคิวรี่ SQL ในโค้ด เป็นวิธีที่ดีที่สุดในการสร้างขั้นตอนการจัดเก็บและเรียกมันจาก C # ด้วยพารามิเตอร์หรือไม่ using (var conn = new SqlConnection(connStr)) using (var command = new SqlCommand("StoredProc", conn) { CommandType = CommandType.StoredProcedure }) { conn.Open(); command.ExecuteNonQuery(); conn.Close(); }
9 c#  sql  sql-server 

5
เหตุใดจึงมีทั้งการลัดวงจรหรือเช่นเดียวกับการเปลี่ยนแปลงที่ไม่ผ่านรอบของตัวดำเนินการนั้นใน C #
ฉันสงสัยเกี่ยวกับสิ่งนี้เป็นระยะ การลัดวงจรหรือจะคืนค่าเดียวกันกับที่ตัวดำเนินการ OR ที่ไม่มีการลัดวงจรหรือ ฉันคาดหวังว่าการลัดวงจรหรือจะประเมินผลเร็วกว่าเสมอ ดังนั้นตัวดำเนินการ OR ที่ไม่มีการลัดวงจรรวมอยู่ในภาษา C # เพื่อความมั่นคงหรือไม่ ฉันพลาดอะไรไป
9 c#  boolean  logic 

3
มีเทคโนโลยีใดที่คล้ายคลึงกับ LINQPad ในการรวบรวม C # ที่ทำงานในเบราว์เซอร์หรือไม่? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา คิดJSFiddle LINQPad ค่อนข้างหวานสำหรับ C # ที่รวดเร็วพร้อมตัวเลือกที่คล้ายกัน มีอะไรที่เหมือนกับ LINQPad ที่ทำงานในเบราว์เซอร์หรือไม่
9 c# 

3
ฉันจะจัดการการบันทึกได้อย่างไรเมื่อฉันสร้างไลบรารีให้ผู้อื่น?
ทั้งหมด ฉันกำลังสร้างห้องสมุดสำหรับทีมอื่นใน บริษัท ของฉัน พวกเขาทั้งหมดมีกลไกการบันทึกที่แตกต่างกัน ฉันต้องการให้ข้อมูลการติดตามสิ่งที่ห้องสมุดของฉันกำลังทำอยู่ ฉันควรทำอะไรเพื่อให้บรรลุสิ่งนี้? ขอบคุณ
9 c#  logging 

5
เป็นไปได้หรือไม่ที่ DLLs สองตัวเกิดข้อขัดแย้งป้องกันไม่ให้โซลูชันสร้าง
แม้ว่าฉันจะมีกรณีเฉพาะ แต่ฉันก็สงสัยเกี่ยวกับสถานการณ์ทั่วไป สามารถเพิ่ม DLLs สองรายการเมื่ออ้างอิงกับโครงการ Visual C # ชนกันเพื่อป้องกันไม่ให้โซลูชันสร้างได้หรือไม่ หากเป็นกรณีนี้มีวิธีใดบ้างที่เป็นไปได้ที่จะบรรเทาปัญหานี้

6
มีดโกนหรือ XSLT ดีกว่าสำหรับโครงการของฉันหรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันอยู่ในช่วงเริ่มต้นในการออกแบบระบบที่จะถูกแยกออกเป็นสองส่วน ส่วนหนึ่งคือบริการส่วนอีกส่วนหนึ่งเป็นส่วนต่อประสานกับบริการที่ให้ข้อมูลผ่านทาง OData หรือ XML แอปพลิเคชันจะขึ้นอยู่กับรูปแบบสถาปัตยกรรม MVC สำหรับมุมมองเรากำลังพิจารณาใช้ XSLT หรือ Razor ภายใต้ ASP.NET XSLTหรือRazorจะช่วยแยกข้อกังวลโดยที่ XML ดั้งเดิมหรือการตอบสนองแทนแบบจำลองของคุณ XSLT หรือ 'Razor view' แทนมุมมองของคุณ ฉันจะปล่อยตัวควบคุมออกสำหรับตัวอย่างนี้ ข้อเสนอการออกแบบเบื้องต้นแนะนำ XSLT แต่ฉันแนะนำให้ใช้มีดโกนแทนเป็นเอ็นจิ้นการดูที่เป็นมิตรมากกว่า นี่คือเหตุผลที่ฉันแนะนำให้ใช้กับมีดโกน (C #): ทำงานกับและสร้างเพจที่ซับซ้อนได้ง่ายขึ้น สามารถผลิตเอาต์พุตที่ไม่ใช่ * ML ได้อย่างง่ายดายเช่น csv, txt, fdf เทมเพลต verbose น้อยลง รูปแบบมุมมองถูกพิมพ์อย่างรุนแรงโดยที่ XSLT จะต้องพึ่งพาการประชุมเช่นค่าบูลีนหรือวันที่ มาร์กอัปสามารถเข้าถึงได้ง่ายขึ้นเช่นการขึ้นบรรทัดใหม่การปรับมาตรฐานค่าการปรับมาตรฐานและกฎช่องว่าง …
9 c#  asp.net-mvc  xslt  razor 

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