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

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

6
ฉันจะเข้าถึงเซสชันในวิธีการทางเว็บได้อย่างไร?
ฉันสามารถใช้ค่าเซสชันภายใน a ได้WebMethodหรือไม่? ฉันได้ลองใช้System.Web.Services.WebMethod(EnableSession = true)แต่ฉันไม่สามารถเข้าถึงพารามิเตอร์เซสชันได้เช่นในตัวอย่างนี้ : [System.Web.Services.WebMethod(EnableSession = true)] [System.Web.Script.Services.ScriptMethod()] public static String checaItem(String id) { return "zeta"; } นี่คือ JS ที่เรียกวิธีการเว็บ: $.ajax({ type: "POST", url: 'Catalogo.aspx/checaItem', data: "{ id : 'teste' }", contentType: 'application/json; charset=utf-8', success: function (data) { alert(data); } });
87 c#  session 

4
ส่งอีเมลไปยังผู้รับหลายคนด้วย MailMessage?
ฉันมีผู้รับอีเมลหลายคนที่เก็บไว้ใน SQL Server เมื่อฉันคลิกส่งในหน้าเว็บควรส่งอีเมลถึงผู้รับทุกคน ฉันได้แยกอีเมลโดยใช้;ไฟล์. ต่อไปนี้เป็นรหัสผู้รับรายเดียว MailMessage Msg = new MailMessage(); MailAddress fromMail = new MailAddress(fromEmail); Msg.From = fromMail; Msg.To.Add(new MailAddress(toEmail)); if (ccEmail != "" && bccEmail != "") { Msg.CC.Add(new MailAddress(ccEmail)); Msg.Bcc.Add(new MailAddress(bccEmail)); } SmtpClient a = new SmtpClient("smtp server name"); a.Send(Msg); sreader.Dispose();
87 c#  mailmessage 

9
Console.WriteLine ไม่ปรากฏในหน้าต่างผลลัพธ์
ฉันได้Console.WriteLineทำการทดสอบการโทร แต่ไม่ปรากฏในกล่องเอาต์พุต? public static ArrayList myDeliveries = new ArrayList(); public mainForm(){ InitializeComponent(); } private void mainForm_Load(object sender, EventArgs e){ if (!File.Exists("../../MealDeliveries.txt")){ MessageBox.Show("File not found!"); return; } using (StreamReader sr = new StreamReader("../../MealDeliveries.txt")){ //first line is delivery name string strDeliveryName = sr.ReadLine(); Console.WriteLine("Test content"); while (strDeliveryName != null){ //other lines Delivery …
87 c#  .net  winforms 

5
โพสต์เหตุการณ์สร้างเรียกใช้ PowerShell
เป็นไปได้ไหมที่จะตั้งค่าโปรเจ็กต์. NET ด้วยเหตุการณ์การสร้างโพสต์เพื่อเรียกใช้สคริปต์พาวเวอร์เชลล์ ฉันใช้สคริปต์นี้เพื่อสร้างไฟล์บางไฟล์ นอกจากนี้ฉันยังสามารถส่งผ่านไม่ว่าจะเป็นการดีบักหรือบิวด์ไปยังสคริปต์ ตัวอย่างนี้จะดีมาก
87 c#  .net  powershell  msbuild 

9
ไม่ได้ประกาศองค์ประกอบการกำหนดค่า
ฉันกำลังทำงานบางอย่างใน Visual Studio 2012 Express Edition ฉันได้เพิ่มไฟล์ XML ของ App.config ดังนี้: <?xml version="1.0" encoding="utf-8" ?> <configuration> </configuration> สิ่งแรกที่เกิดขึ้นคือคำเตือนปรากฏขึ้นว่า "ไม่ได้ประกาศองค์ประกอบ" การกำหนดค่า "" ไม่มีใครรู้ว่าทำไมถึงเกิดขึ้น? ดูเหมือนว่าจะไม่สามารถประกาศองค์ประกอบภายในได้จนกว่าจะได้รับการแก้ไข ขอบคุณ! นี่คือ XML ทั้งหมด: <?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="Version" value="779" /> <add key="TimeOut" value="60000" /> <add key="LogFileName" value="Log.txt" /> <!-- your Developer Id with eBay …
87 c#  xml  app-config 

14
การลบแถวเฉพาะจาก DataTable
ฉันต้องการลบบางแถวออกจาก DataTable แต่มีข้อผิดพลาดเช่นนี้ มีการแก้ไขคอลเล็กชัน การดำเนินการแจงนับอาจไม่ดำเนินการ ฉันใช้สำหรับการลบรหัสนี้ foreach(DataRow dr in dtPerson.Rows){ if(dr["name"].ToString()=="Joe") dr.Delete(); } แล้วปัญหาคืออะไรและจะแก้ไขได้อย่างไร? คุณแนะนำวิธีใด
87 c#  delete-row 

6
วัตถุที่ถูกล็อกจะยังคงถูกล็อกอยู่หรือไม่หากเกิดข้อยกเว้นขึ้นภายใน
ในแอพ ac # threading ถ้าฉันจะล็อคอ็อบเจกต์ให้เราพูดคิวและถ้ามีข้อยกเว้นเกิดขึ้นอ็อบเจกต์จะยังคงล็อคอยู่หรือไม่ นี่คือรหัสหลอก: int ii; lock(MyQueue) { MyClass LclClass = (MyClass)MyQueue.Dequeue(); try { ii = int.parse(LclClass.SomeString); } catch { MessageBox.Show("Error parsing string"); } } ตามที่ฉันเข้าใจรหัสหลังจากการจับไม่ได้ดำเนินการ - แต่ฉันสงสัยว่าการล็อกจะถูกปลดปล่อยหรือไม่

10
SqlParameter มีอยู่แล้วโดย SqlParameterCollection อื่น - ใช้ () {} โกงหรือไม่
ในขณะที่ใช้using() {}บล็อก (sic) ดังที่แสดงด้านล่างและสมมติว่าcmd1ไม่อยู่เกินขอบเขตของusing() {}บล็อกแรกเหตุใดบล็อกที่สองจึงมีข้อยกเว้นด้วยข้อความ SqlParameter มีอยู่แล้วโดย SqlParameterCollection อื่น หมายความว่าทรัพยากรและ / หรือจัดการ - รวมถึงพารามิเตอร์ ( SqlParameterCollection) - ที่แนบมาcmd1จะไม่ถูกปล่อยออกมาเมื่อถูกทำลายที่ส่วนท้ายของบล็อกหรือไม่? using (var conn = new SqlConnection("Data Source=.;Initial Catalog=Test;Integrated Security=True")) { var parameters = new SqlParameter[] { new SqlParameter("@ProductId", SqlDbType.Int ) }; using(var cmd1 = new SqlCommand("SELECT ProductName FROM Products WHERE ProductId = …
87 c#  .net  sql-server  ado.net 

5
C # เทียบเท่าเวกเตอร์ C ++ ที่มีหน่วยความจำติดกัน?
C # เทียบเท่าเวกเตอร์ C ++ คืออะไร ฉันกำลังค้นหาคุณสมบัตินี้: เพื่อให้มีอาร์เรย์แบบไดนามิกของหน่วยความจำที่จัดเก็บอย่างต่อเนื่องซึ่งไม่มีการลงโทษด้านประสิทธิภาพสำหรับการเข้าถึงกับอาร์เรย์มาตรฐาน ฉันกำลังค้นหาและพวกเขาก็พูดว่า.NET equivalent to the vector in C++ is the ArrayList: ArrayList มีคุณสมบัติหน่วยความจำที่ต่อเนื่องกันหรือไม่?
87 c#  c++  vector 

4
มีอะไรเช่น Asynchronous BlockingCollection <T> หรือไม่?
ฉันต้องการawaitผลลัพธ์ของBlockingCollection&lt;T&gt;.Take()แบบอะซิงโครนัสดังนั้นฉันจึงไม่บล็อกเธรด กำลังมองหาอะไรเช่นนี้: var item = await blockingCollection.TakeAsync(); ฉันรู้ว่าฉันทำได้: var item = await Task.Run(() =&gt; blockingCollection.Take()); แต่นั่นเป็นการฆ่าความคิดทั้งหมดเพราะเธรดอื่นThreadPoolถูกบล็อกแทน มีทางเลือกอื่นไหม

3
ไวยากรณ์สำหรับตัวสร้างเริ่มต้นสำหรับคลาสทั่วไปคืออะไร?
ห้ามใน C # ใช้ตัวสร้างเริ่มต้นสำหรับคลาสทั่วไปหรือไม่? ถ้าไม่ทำไมโค้ดด้านล่างไม่คอมไพล์? (เมื่อฉันลบ&lt;T&gt;คอมไพล์ออก) วิธีที่ถูกต้องในการกำหนดคอนสตรัคเตอร์เริ่มต้นสำหรับคลาสทั่วไปคืออะไร? public class Cell&lt;T&gt; { public Cell&lt;T&gt;() { } } ข้อผิดพลาดเวลาคอมไพล์ : ข้อผิดพลาด 1 โทเค็นไม่ถูกต้อง '(' ในการประกาศสมาชิกคลาสโครงสร้างหรืออินเทอร์เฟซ
86 c#  .net  generics 


20
เหตุใดฉันจึงไม่สามารถอ้างอิงไลบรารีของชั้นเรียนได้
ฉันมีโซลูชันที่มีเว็บไซต์และไลบรารีคลาสใน Visual Studio 2008 จากนั้นฉันมีโครงการเว็บไซต์อื่นนอกเหนือจากโซลูชันที่ต้องอ้างอิงไลบรารีคลาส ฉันคลิกขวาที่โฟลเดอร์ Bin หรือ Project และเลือก Add Reference จากนั้นเลือก Class Library Project ของฉันซึ่งจะเพิ่ม DLL 15 รายการหรือมากกว่านั้นที่ไลบรารีคลาสต้องการในโฟลเดอร์ bin ของเว็บไซต์ แต่ไม่มีไฟล์. cs ใดที่จดจำคำสั่งที่ใช้ using MyLibrary.MyFolder; มันบอกว่ามันไม่สามารถแก้ไขได้และ ReSharper บอกว่าสามารถเอาออกได้อย่างปลอดภัยเนื่องจากไม่ได้ใช้งาน ReSharper สามารถรับรู้ได้ว่าต้องการข้อมูลอ้างอิงและแนะนำว่า "อ้างอิง MyLibrary และใช้ MyFolder" ฉันไม่แน่ใจว่าทำไมจึงแนะนำให้ฉันเพิ่มข้อมูลอ้างอิงที่ฉันมีอยู่แล้ว เมื่อฉันทำตามคำแนะนำฉันได้รับข้อผิดพลาด "ไม่สามารถอ้างอิงโมดูลอาจเป็นไปได้ว่าการอ้างอิงจะสร้างการอ้างอิงแบบวงกลมระหว่างโปรเจ็กต์" ฉันได้ลองไปที่หน้าคุณสมบัติของเว็บไซต์แล้วลบการอ้างอิงทั้งหมดและเพิ่มเข้าไปใหม่ แต่ก็มีข้อผิดพลาดเหมือนกัน มีความคิดว่าเหตุใดจึงไม่ทำงาน

3
ดูรายการ TODO ทั้งหมดใน Visual Studio โดยใช้ GhostDoc
ฉันกำลังใช้GhostDocใน Visual Studio 2008 ฉันจะดูรายการสิ่งที่ต้องทำทั้งหมดได้อย่างไรและถ้าเป็นฟังก์ชันที่มีอยู่แล้วใน Visual Studio หรือใน GhostDoc (เครื่องมือเอกสารที่ฉันใช้)

6
เหตุใด Assert.AreEqual (T obj1, Tobj2) จึงล้มเหลวด้วยอาร์เรย์ไบต์ที่เหมือนกัน
ฉันมีอาร์เรย์ไบต์ที่เหมือนกันสองอาร์เรย์ในโค้ดส่วนต่อไปนี้: /// &lt;summary&gt; ///A test for Bytes ///&lt;/summary&gt; [TestMethod()] public void BytesTest() { byte[] bytes = Encoding.UTF8.GetBytes(Properties.Resources.ExpectedPacketData); TransferEventArgs target = new TransferEventArgs(bytes); byte[] expected = Encoding.UTF8.GetBytes(Properties.Resources.ExpectedPacketValue); byte[] actual; actual = target.Bytes; Assert.AreEqual(expected, actual); } อาร์เรย์ทั้งสองมีค่าเท่ากับไบต์มาก ในสถานการณ์นี้เหตุใด Assert.AreEqual จึงล้มเหลว

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