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

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

10
จัดเรียงรายการคลาสที่กำหนดเอง <T>
ฉันต้องการจัดเรียงรายการของฉันกับdateทรัพย์สิน นี่คือคลาสที่กำหนดเองของฉัน: using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Test.Web { public class cTag { public int id { get; set; } public int regnumber { get; set; } public string date { get; set; } } } นี่คือสิ่งListที่ฉันต้องการจัดเรียง: List&lt;cTag&gt; Week = new List&lt;cTag&gt;(); สิ่งที่ฉันต้องการทำคือจัดเรียงรายการตามdateคุณสมบัติของคลาส cTag วันที่อยู่ในรูปแบบ: dd.MM.yyyy …
112 c#  sorting 

5
System.Threading.Timer ใน C # ดูเหมือนว่าจะไม่ทำงาน มันทำงานเร็วมากทุกๆ 3 วินาที
ฉันเป็นวัตถุจับเวลา ฉันต้องการให้มันทำงานทุกนาที โดยเฉพาะอย่างยิ่งควรเรียกใช้OnCallBackวิธีการและไม่ได้ใช้งานในขณะที่OnCallBackวิธีการทำงาน เมื่อOnCallBackวิธีการเสร็จสิ้น (a OnCallBack) จะเริ่มการจับเวลาใหม่ นี่คือสิ่งที่ฉันมีในตอนนี้: private static Timer timer; private static void Main() { timer = new Timer(_ =&gt; OnCallBack(), null, 0, 1000 * 10); //every 10 seconds Console.ReadLine(); } private static void OnCallBack() { timer.Change(Timeout.Infinite, Timeout.Infinite); //stops the timer Thread.Sleep(3000); //doing some long operation timer.Change(0, 1000 …
112 c#  .net  timer 

7
null + true เป็นสตริงอย่างไร
เนื่องจากtrueไม่ใช่ประเภทnull + trueสตริงสตริงเป็นอย่างไร string s = true; //Cannot implicitly convert type 'bool' to 'string' bool b = null + true; //Cannot implicitly convert type 'string' to 'bool' เหตุผลเบื้องหลังนี้คืออะไร?
112 c#  .net  string  null  types 

5
ถ้าเทียบกับ Switch Speed
โดยทั่วไปคำสั่ง Switch จะเร็วกว่าคำสั่ง if-else-if ที่เทียบเท่า (เช่นอธิบายไว้ในบทความนี้ ) เนื่องจากการปรับแต่งคอมไพลเลอร์ การเพิ่มประสิทธิภาพนี้ทำงานอย่างไร ใครมีคำอธิบายดีๆ

14
การรับ "เกินความยาวสูงสุดของคำขอ"
ฉันกำลังเขียนฟังก์ชันการอัปโหลดและมีปัญหาในการตรวจจับ "System.Web.HttpException: เกินความยาวสูงสุดของคำขอ" ด้วยไฟล์ที่มีขนาดใหญ่กว่าขนาดสูงสุดที่ระบุhttpRuntimeใน web.config (กำหนดขนาดสูงสุดเป็น 5120) ฉันใช้ง่าย&lt;input&gt;สำหรับไฟล์ ปัญหาคือเกิดข้อยกเว้นก่อนเหตุการณ์คลิกของปุ่มอัปโหลดและข้อยกเว้นเกิดขึ้นก่อนที่โค้ดของฉันจะทำงาน แล้วฉันจะจับและจัดการกับข้อยกเว้นได้อย่างไร? แก้ไข:ข้อยกเว้นจะเกิดขึ้นทันทีดังนั้นฉันค่อนข้างมั่นใจว่าไม่ใช่ปัญหาการหมดเวลาเนื่องจากการเชื่อมต่อช้า

10
มีกรณีใดบ้างที่ควรใช้ออบเจ็กต์ Thread แบบเก่าแทนโครงสร้างที่ใหม่กว่าอย่างใดอย่างหนึ่ง
ฉันเห็นผู้คนมากมายในบล็อกโพสต์และที่นี่ใน SO ไม่ว่าจะหลีกเลี่ยงหรือให้คำแนะนำเกี่ยวกับการใช้งานThreadชั้นเรียนใน C # เวอร์ชันล่าสุด (และฉันหมายถึง 4.0+ แน่นอนด้วยการเพิ่มTask&amp; friends) ก่อนหน้านี้มีการถกเถียงกันเกี่ยวกับความจริงที่ว่าการทำงานของเธรดเก่าธรรมดาสามารถถูกแทนที่ได้ในหลาย ๆ กรณีโดยThreadPoolคลาส นอกจากนี้กลไกพิเศษอื่น ๆ ยังทำให้Threadคลาสที่น่าสนใจน้อยลงเช่นการTimerเปลี่ยนคอมโบThread+ น่าเกลียดSleepในขณะที่สำหรับ GUI ที่เรามีBackgroundWorkerเป็นต้น ถึงกระนั้นThreadดูเหมือนว่าจะยังคงเป็นแนวคิดที่คุ้นเคยมากสำหรับบางคน (รวมถึงตัวฉันเองด้วย) คนที่เมื่อต้องเผชิญกับงานที่เกี่ยวข้องกับการดำเนินการแบบคู่ขนานบางอย่างให้ข้ามไปใช้Threadคลาสเก่าที่ดีโดยตรง เมื่อเร็ว ๆ นี้ฉันสงสัยว่าถึงเวลาที่จะต้องแก้ไขแนวทางของตัวเองแล้ว ดังนั้นคำถามของฉันคือมีกรณีใดบ้างที่จำเป็นหรือมีประโยชน์ที่จะใช้Threadวัตถุเก่าธรรมดาแทนโครงสร้างข้างต้นอย่างใดอย่างหนึ่ง
112 c#  .net  multithreading 

5
Entity Framework Code First รองรับกระบวนงานที่จัดเก็บไว้หรือไม่
ฉันได้ดูการนำเสนอ EF Code First หลายครั้งแล้วและยังไม่เห็นว่า EFCF ทำงานร่วมกับขั้นตอนการจัดเก็บอย่างไร ฉันจะประกาศวิธีการที่จะใช้ sp บางตัวได้อย่างไร? ฉันสามารถส่งเอนทิตีไปยังเมธอดที่เรียกใช้ sp โดยไม่ต้องแมปคุณสมบัติเอนทิตีกับพารามิเตอร์ sp ด้วยตนเองได้หรือไม่ นอกจากนี้จะเกิดอะไรขึ้นถ้าฉันเปลี่ยนรุ่นของฉัน? มันจะลด sp ของฉันในขณะที่สร้างตารางจากโมเดลใหม่หรือไม่? แล้วทริกเกอร์ล่ะ? หากสิ่งเหล่านี้ไม่ได้รับการสนับสนุนมีแผนรองรับในอนาคตหรือไม่?

2
ขั้นต่ำที่จำเป็นในการเขียนแอปพลิเคชันตัวอย่าง MSMQ
ฉันค้นคว้ามานานกว่าหนึ่งชั่วโมงและค้นหาตัวอย่างที่ยอดเยี่ยมเกี่ยวกับวิธีใช้ MSMQ ใน C # และแม้แต่บทเต็มของหนังสือเกี่ยวกับคิวข้อความ ... แต่สำหรับการทดสอบอย่างรวดเร็วสิ่งที่ฉันต้องการคือการครอบคลุมคือสถานการณ์นี้ไม่ใช่ด้วยซ้ำ อย่างสมบูรณ์แบบเพียงเพื่อการสาธิตอย่างรวดเร็ว: "แอปพลิเคชัน A": เขียนข้อความไปยังคิวข้อความ (แอปพลิเคชัน A เป็นบริการ C # windows) ตอนนี้ฉันเปิด "แอปพลิเคชัน B" (เป็นแอป C # winForms) และฉันตรวจสอบ MSMQ และฉันเห็นว่าฉันมีข้อความใหม่ แค่นั้นแหละ ... ทั้งหมดที่ฉันต้องการสำหรับการสาธิตง่ายๆ ใครช่วยฉันด้วยตัวอย่างโค้ดสำหรับสิ่งนี้ได้ไหม ชื่นชมมาก
112 c#  msmq 

5
เหตุใดการเพิ่มเมธอดจึงเพิ่มการเรียกที่ไม่ชัดเจนหากไม่เกี่ยวข้องกับความคลุมเครือ
ฉันมีคลาสนี้ public class Overloaded { public void ComplexOverloadResolution(params string[] something) { Console.WriteLine("Normal Winner"); } public void ComplexOverloadResolution&lt;M&gt;(M something) { Console.WriteLine("Confused"); } } ถ้าฉันเรียกแบบนี้: var blah = new Overloaded(); blah.ComplexOverloadResolution("Which wins?"); มันเขียนNormal Winnerไปที่คอนโซล แต่ถ้าฉันเพิ่มวิธีอื่น: public void ComplexOverloadResolution(string something, object somethingElse = null) { Console.WriteLine("Added Later"); } ฉันได้รับข้อผิดพลาดต่อไปนี้: การเรียกไม่ชัดเจนระหว่างวิธีการหรือคุณสมบัติต่อไปนี้:&gt; ' Overloaded.ComplexOverloadResolution(params string[])' …

1
การใช้ SignalR กับ Redis messagebus failover โดยใช้ ConnectionUtils.Connect () ของ BookSleeve
ฉันกำลังพยายามสร้างสถานการณ์ล้มเหลวของบัสข้อความ Redis ด้วยแอป SignalR ในตอนแรกเราลองใช้ความล้มเหลวของตัวโหลดบาลานซ์ฮาร์ดแวร์แบบง่ายๆซึ่งตรวจสอบเซิร์ฟเวอร์ Redis สองตัว แอปพลิเคชัน SignalR ชี้ไปที่จุดสิ้นสุด HLB เอกพจน์ จากนั้นฉันล้มเหลวหนึ่งเซิร์ฟเวอร์ แต่ไม่สามารถรับข้อความใด ๆ ผ่านเซิร์ฟเวอร์ Redis ที่สองได้สำเร็จโดยไม่ต้องรีไซเคิลพูลแอป SignalR สันนิษฐานว่าเป็นเพราะจำเป็นต้องออกคำสั่งการตั้งค่าให้กับบัสข้อความ Redis ใหม่ สำหรับ SignalR RC1 Microsoft.AspNet.SignalR.Redis.RedisMessageBusใช้ Booksleeve RedisConnection()เพื่อเชื่อมต่อกับ Redis เดียวสำหรับ pub / sub ฉันสร้างคลาสใหม่RedisMessageBusCluster()ที่ใช้ Booksleeve ConnectionUtils.Connect()เพื่อเชื่อมต่อกับคลาสในคลัสเตอร์ของเซิร์ฟเวอร์ Redis using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; using BookSleeve; using …

7
จะลบองค์ประกอบว่างทั้งหมดภายในรายการทั่วไปได้อย่างไร?
มีวิธีการเริ่มต้นที่กำหนดไว้ใน. Net สำหรับ C # เพื่อลบองค์ประกอบทั้งหมดภายในรายการซึ่งเป็นnull? List&lt;EmailParameterClass&gt; parameterList = new List&lt;EmailParameterClass&gt;{param1, param2, param3...}; สมมติว่าพารามิเตอร์บางตัวคือnull; ฉันไม่สามารถทราบล่วงหน้าและต้องการลบออกจากรายการของฉันเพื่อให้มีเฉพาะพารามิเตอร์ที่ไม่เป็นโมฆะ
112 c#  list  null  element 

4
การทำให้วัตถุเป็นอนุกรมเป็น UTF-8 XML ใน. NET
การกำจัดวัตถุอย่างเหมาะสมถูกลบออกเพื่อความกะทัดรัด แต่ฉันตกใจถ้านี่เป็นวิธีที่ง่ายที่สุดในการเข้ารหัสวัตถุเป็น UTF-8 ในหน่วยความจำ จะต้องมีวิธีที่ง่ายกว่านี้ไม่ใช่หรือ? var serializer = new XmlSerializer(typeof(SomeSerializableObject)); var memoryStream = new MemoryStream(); var streamWriter = new StreamWriter(memoryStream, System.Text.Encoding.UTF8); serializer.Serialize(streamWriter, entry); memoryStream.Seek(0, SeekOrigin.Begin); var streamReader = new StreamReader(memoryStream, System.Text.Encoding.UTF8); var utf8EncodedXml = streamReader.ReadToEnd();


15
สุ่มแถวจาก Linq ถึง Sql
วิธีใดที่ดีที่สุด (และเร็วที่สุด) ในการดึงข้อมูลแถวสุ่มโดยใช้ Linq เป็น SQL เมื่อฉันมีเงื่อนไขเช่นบางฟิลด์ต้องเป็นจริง
112 c#  .net  linq-to-sql 

9
วิธีตรวจสอบว่ามีไฟล์อยู่ในโฟลเดอร์หรือไม่?
ฉันต้องการตรวจสอบว่ามีไฟล์ xml อยู่ในโฟลเดอร์หรือไม่ DirectoryInfo di = new DirectoryInfo(ProcessingDirectory); FileInfo[] TXTFiles = di.GetFiles("*.xml"); if (TXTFiles.Length == 0) { log.Info("no files present") } นี่เป็นวิธีที่ดีที่สุดในการตรวจสอบไฟล์ที่มีอยู่ในโฟลเดอร์นี้หรือไม่ ฉันต้องการตรวจสอบว่ามีไฟล์ xml อยู่เท่านั้น
112 c#  xml  file  fileinfo 

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