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

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

15
AppSettings รับค่าจากไฟล์. config
ฉันไม่สามารถเข้าถึงค่าในไฟล์กำหนดค่า Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var clientsFilePath = config.AppSettings.Settings["ClientsFilePath"].Value; // the second line gets a NullReferenceException ไฟล์ .config : <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <!-- ... --> <add key="ClientsFilePath" value="filepath"/> <!-- ... --> </appSettings> </configuration> คุณมีข้อเสนอแนะอะไรฉันควรทำอย่างไร

15
ใช้คลาสเดี่ยวด้วยวิธีที่ดีที่สุด?
สมมติว่าฉันมีคลาสที่ตั้งใจจะทำหน้าที่เดียว หลังจากดำเนินการฟังก์ชั่นมันสามารถถูกทำลาย มีเหตุผลใดที่จะชอบแนวทางเหล่านี้หรือไม่? // Initialize arguments in constructor MyClass myObject = new MyClass(arg1, arg2, arg3); myObject.myMethod(); // Pass arguments to method MyClass myObject = new MyClass(); myObject.myMethod(arg1, arg2, arg3); // Pass arguments to static method MyClass.myMethod(arg1, arg2, arg3); ฉันถูกคลุมเครือโดยเจตนาเกี่ยวกับรายละเอียดพยายามหาแนวทางสำหรับสถานการณ์ที่แตกต่างกัน แต่ฉันไม่ได้นึกถึงฟังก์ชั่นห้องสมุดง่ายๆอย่าง Math.random () ฉันกำลังคิดว่าจะมีคลาสที่ทำงานเฉพาะอย่างซับซ้อนบางอย่าง แต่ต้องการเพียงหนึ่งวิธี (สาธารณะ) เท่านั้นที่จะทำได้
172 c#  java  oop  static-methods 

3
ApplicationException คืออะไรใน. NET
จะโยนข้อยกเว้นผมมักจะใช้ในตัวชั้นเรียนข้อยกเว้นเช่นและArgumentNullException NotSupportedExceptionอย่างไรก็ตามบางครั้งฉันจำเป็นต้องใช้ข้อยกเว้นที่กำหนดเองและในกรณีที่ฉันเขียน: class SlippedOnABananaException : Exception { } class ChokedOnAnAppleException : Exception { } และอื่น ๆ จากนั้นฉันก็โยนและจับสิ่งเหล่านี้ในรหัสของฉัน แต่วันนี้ฉันเข้าApplicationExceptionเรียน - ฉันควรจะใช้สิ่งนั้นแทนหรือไม่? เพื่ออะไร ดูเหมือนไม่มีประสิทธิภาพที่จะมีคลาส Exception ที่เหมือนกันอย่างมีประสิทธิภาพจำนวนมากที่มีชื่อต่างกัน (โดยปกติฉันไม่ต้องการฟังก์ชันใด ๆ เลย) แต่ฉันไม่ชอบความคิดที่จะจับรหัสทั่วไปApplicationExceptionและต้องใช้รหัสพิเศษเพื่อพิจารณาว่าข้อผิดพลาดคืออะไร ApplicationExceptionรหัสของฉันควรตรงกับที่ใด?

9
ReSharper มีทางเลือกอะไรบ้าง? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังพิจารณาซื้อใบอนุญาตReSharperแต่มีทางเลือกอื่นที่เป็นไปได้สำหรับ ReSharper และคุณจะให้คะแนนเหล่านี้เมื่อเทียบกับ ReSharper อย่างไร ไม่จำเป็นต้องเป็นทางเลือกฟรี แต่ฉันแค่อยากจะรู้ว่าผลิตภัณฑ์ที่เทียบเท่าที่ดีคืออะไร

30
วิธีทดสอบนั้นไม่สามารถสรุปได้: ไม่ได้ทำการทดสอบ ข้อผิดพลาด?
ฉันมีคลาสทดสอบและต่ำกว่าฉันโพสต์ตัวอย่างทดสอบจากคลาสทดสอบ namespace AdminPortal.Tests.Controller_Test.Customer { [TestClass] public class BusinessUnitControllerTests { private IBusinessUnitRepository _mockBusinessUnitRepository; private BusinessUnitController _controller; [TestInitialize] public void TestInitialize() { _mockBusinessUnitRepository = MockRepository.GenerateMock<IBusinessUnitRepository>(); _controller = new BusinessUnitController(_mockBusinessUnitRepository); } [TestCleanup] public void TestCleanup() { _mockBusinessUnitRepository = null; _controller.Dispose(); _controller = null; } #region Index Action Tests [TestMethod] public void Index_Action_Calls_GetAllBusinessUnit() { …

13
ไม่รู้จักสายอักขระเป็น DateTime ที่ถูกต้อง“ รูปแบบ dd / MM / yyyy”
dd/MM/yyyyฉันพยายามที่จะแปลงค่าสตริงที่จัดรูปแบบของฉันประเภทวันที่มีรูปแบบ this.Text="22/11/2009"; DateTime date = DateTime.Parse(this.Text); อะไรคือปัญหา ? IFormatProviderแต่ก็มีการแทนที่สองซึ่งถามหา นี่คืออะไร? อย่าฉันต้องผ่านนี้? ถ้าใช่จะใช้กับกรณีนี้ได้อย่างไร? แก้ไข อะไรคือความแตกต่างระหว่างParseและParseExact? แก้ไข 2 คำตอบทั้งสองของ Slaks และ Sam ทำงานให้ฉันปัจจุบันผู้ใช้กำลังป้อนข้อมูล แต่ฉันมั่นใจได้ว่าพวกเขาใช้ได้โดยใช้ maskTextbox คำตอบใดจะดีกว่าหากพิจารณาทุกด้านเช่นประเภทความปลอดภัยประสิทธิภาพหรือสิ่งที่คุณรู้สึก
172 c#  .net  datetime  types  casting 

5
ประเภท 'สตริง' ต้องเป็นชนิดที่ไม่เป็นโมฆะเพื่อใช้เป็นพารามิเตอร์ T ในประเภททั่วไปหรือวิธีการ 'System.Nullable <T>'
เหตุใดฉันจึงได้รับข้อผิดพลาด "ประเภท 'สตริง' ต้องเป็นประเภทค่าที่ไม่เป็นโมฆะเพื่อใช้เป็นพารามิเตอร์ 'T' ในประเภทหรือวิธีการทั่วไป 'System.Nullable'" using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; using Universe; namespace Universe { public class clsdictionary { private string? m_Word = ""; private string? m_Meaning = ""; string? Word { get { return m_Word; } set { m_Word = value; } …
172 c#  nullable 

9
C # int เป็นไบต์ []
ฉันจำเป็นต้องแปลงintไปเป็นวิธีหนึ่งในการทำก็คือการใช้งานbyte[] BitConverter.GetBytes()แต่ฉันไม่แน่ใจว่าสิ่งที่ตรงกับข้อกำหนดต่อไปนี้: จำนวนเต็ม XDR ที่ลงนามคือ datum 32 บิตที่เข้ารหัสจำนวนเต็มในช่วง [-2147483648,2147483647] จำนวนเต็มถูกแทนด้วยเครื่องหมายเสริมสองอัน ไบต์ที่สำคัญที่สุดและน้อยที่สุดคือ 0 และ 3 ตามลำดับ จำนวนเต็มถูกประกาศดังนี้: ที่มา: RFC1014 3.2 ฉันจะแปลง int เป็น byte ที่จะตอบสนองข้อกำหนดข้างต้นได้อย่างไร
172 c#  .net  bit-manipulation  nfs 

12
ฉันจะค้นหาองค์ประกอบสุดท้ายในรายการ <> ได้อย่างไร
ต่อไปนี้เป็นสารสกัดจากรหัสของฉัน: public class AllIntegerIDs { public AllIntegerIDs() { m_MessageID = 0; m_MessageType = 0; m_ClassID = 0; m_CategoryID = 0; m_MessageText = null; } ~AllIntegerIDs() { } public void SetIntegerValues (int messageID, int messagetype, int classID, int categoryID) { this.m_MessageID = messageID; this.m_MessageType = messagetype; this.m_ClassID = classID; this.m_CategoryID = …
172 c#  list  for-loop 

8
IOException: กระบวนการไม่สามารถเข้าถึงไฟล์ 'เส้นทางไฟล์' ได้เนื่องจากกำลังถูกใช้โดยกระบวนการอื่น
ฉันมีโค้ดบางส่วนและเมื่อมันประมวลผลมันจะพ่น a IOExceptionโดยบอกว่า กระบวนการไม่สามารถเข้าถึงไฟล์ 'ชื่อไฟล์' ได้เนื่องจากกำลังถูกใช้โดยกระบวนการอื่น สิ่งนี้หมายความว่าอะไรและฉันจะทำอย่างไรกับเรื่องนี้?

8
เหตุใดจึงต้องใช้คำหลักผลตอบแทนเมื่อฉันสามารถใช้ IEnumerable ธรรมดาได้
รับรหัสนี้: IEnumerable&lt;object&gt; FilteredList() { foreach( object item in FullList ) { if( IsItemInPartialList( item ) ) yield return item; } } ทำไมฉันไม่ควรเขียนโค้ดด้วยวิธีนี้: IEnumerable&lt;object&gt; FilteredList() { var list = new List&lt;object&gt;(); foreach( object item in FullList ) { if( IsItemInPartialList( item ) ) list.Add(item); } return list; } ฉันเข้าใจว่าyieldคำหลักทำอะไร มันบอกให้คอมไพเลอร์สร้างสิ่งที่แน่นอน (ตัววนซ้ำ) …
171 c#  yield 

3
เลือกพจนานุกรม <T1, T2> ด้วย LINQ
ฉันใช้คีย์เวิร์ด "select" และวิธีการขยายเพื่อส่งคืนIEnumerable&lt;T&gt;ด้วย LINQ แต่ฉันต้องการส่งคืน generic Dictionary&lt;T1, T2&gt;และไม่สามารถหาคำตอบได้ ตัวอย่างฉันเรียนรู้สิ่งนี้จากการใช้บางสิ่งในรูปแบบที่คล้ายกับสิ่งต่อไปนี้: IEnumerable&lt;T&gt; coll = from x in y select new SomeClass{ prop1 = value1, prop2 = value2 }; ฉันทำสิ่งเดียวกันด้วยวิธีการขยาย ฉันคิดว่าเนื่องจากรายการใน a Dictionary&lt;T1, T2&gt;สามารถทำซ้ำได้เนื่องจากKeyValuePair&lt;T1, T2&gt;ฉันสามารถแทนที่ "SomeClass" ในตัวอย่างด้านบนด้วย " new KeyValuePair&lt;T1, T2&gt; { ..." แต่นั่นไม่ได้ผล (คีย์และค่าถูกทำเครื่องหมายว่าอ่านได้อย่างเดียวดังนั้นฉันจึงไม่สามารถรวบรวมรหัสนี้ได้ ) เป็นไปได้หรือฉันต้องทำหลายขั้นตอน? ขอบคุณ
171 c#  .net  linq  generics 

5
วิธีการส่งผ่านพารามิเตอร์ค่าของตารางไปยังกระบวนงานที่เก็บไว้จากรหัส. net
ฉันมีฐานข้อมูล SQL Server 2005 ในขั้นตอนไม่กี่ฉันมีพารามิเตอร์ตารางที่ฉันส่งไปยัง proc ที่เก็บไว้เป็นnvarchar(คั่นด้วยเครื่องหมายจุลภาค) และแบ่งภายในเป็นค่าเดียว ฉันเพิ่มลงในรายการพารามิเตอร์คำสั่ง SQL ดังนี้: cmd.Parameters.Add("@Logins", SqlDbType.NVarchar).Value = "jim18,jenny1975,cosmo"; ฉันต้องย้ายฐานข้อมูลไปยัง SQL Server 2008 ฉันรู้ว่ามีค่าพารามิเตอร์ของตารางและฉันรู้วิธีใช้พวกเขาในขั้นตอนการจัดเก็บ แต่ฉันไม่ทราบวิธีการส่งรายการไปยังรายการพารามิเตอร์ในคำสั่ง SQL ไม่มีใครรู้ไวยากรณ์ที่ถูกต้องของParameters.Addกระบวนการหรือไม่ หรือมีวิธีอื่นในการส่งผ่านพารามิเตอร์นี้

7
มีดโกนผสมและรหัส Javascript
ฉันค่อนข้างสับสนกับวิธีการผสมมีดโกนและเจเอส นี่คือฟังก์ชั่นปัจจุบันที่ฉันติดอยู่: &lt;script type="text/javascript"&gt; var data = []; @foreach (var r in Model.rows) { data.push([ @r.UnixTime * 1000, @r.Value ]); } ถ้าฉันสามารถประกาศ c # code ด้วย&lt;c#&gt;&lt;/c#&gt;และทุกอย่างอื่นเป็นรหัส JS - นี่จะเป็นสิ่งที่ฉันหลังจาก: &lt;script type="text/javascript"&gt; var data = []; &lt;c#&gt;@foreach (var r in Model.rows) {&lt;/c#&gt; data.push([ &lt;c#&gt;@r.UnixTime&lt;/c#&gt; * 1000, &lt;c#&gt;@r.Value&lt;/c#&gt; ]); &lt;c#&gt;}&lt;/c#&gt; อะไรคือวิธีที่ดีที่สุดในการบรรลุเป้าหมายนี้?
171 c#  javascript  razor 

11
วิธีการแปลง DateTime เป็น DateTime
ฉันต้องการแปลง DateTime เป็นโมฆะ ( DateTime?) เป็น a DateTimeแต่ฉันได้รับข้อผิดพลาด: ไม่สามารถแปลงประเภท 'System.DateTime?' โดยปริยาย เป็น 'System.DateTime' มีการแปลงอย่างชัดเจนอยู่ (คุณพลาดการส่งหรือไม่) ฉันได้ลองทำสิ่งต่อไปนี้แล้ว: DateTime UpdatedTime = (DateTime)_objHotelPackageOrder.UpdatedDate == null ? DateTime.Now : _objHotelPackageOrder.UpdatedDate;
171 c#  .net  datetime 

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