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

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

7
จะทำให้ HttpClient ส่งผ่านข้อมูลประจำตัวพร้อมกับคำขอได้อย่างไร
ฉันมีเว็บแอปพลิเคชั่น (โฮสต์ใน IIS) ที่พูดคุยกับบริการของ Windows บริการ Windows กำลังใช้ ASP.Net MVC Web API (โฮสต์ด้วยตนเอง) และสามารถสื่อสารกับผ่าน http โดยใช้ JSON แอปพลิเคชันเว็บได้รับการกำหนดค่าให้ทำการแอบอ้างเป็นแนวคิดที่ว่าผู้ใช้ที่ทำการร้องขอไปยังเว็บแอปพลิเคชันควรเป็นผู้ใช้ที่เว็บแอปพลิเคชันใช้ในการร้องขอบริการ โครงสร้างมีลักษณะดังนี้: (ผู้ใช้ที่เน้นด้วยสีแดงคือผู้ใช้ที่ถูกอ้างถึงในตัวอย่างด้านล่าง) เว็บแอปพลิเคชันส่งคำขอไปยังบริการ Windows โดยใช้HttpClient: var httpClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true }); httpClient.GetStringAsync("http://localhost/some/endpoint/"); สิ่งนี้ทำให้การร้องขอไปยังบริการ Windows แต่ไม่ผ่านข้อมูลประจำตัวอย่างถูกต้อง (บริการรายงานผู้ใช้เป็นIIS APPPOOL\ASP.NET 4.0) นี้ไม่ได้เป็นสิ่งที่ฉันต้องการให้เกิดขึ้น ถ้าฉันเปลี่ยนรหัสข้างต้นเพื่อใช้WebClientแทนข้อมูลประจำตัวของผู้ใช้จะถูกส่งผ่านอย่างถูกต้อง: WebClient c = new WebClient { UseDefaultCredentials …

6
ไม่สามารถสร้างค่าคงที่ประเภทสนับสนุนเฉพาะประเภทดั้งเดิมหรือประเภทการแจงนับในบริบทนี้
ฉันได้รับข้อผิดพลาดนี้สำหรับข้อความค้นหาด้านล่าง API.Models.PersonProtocolไม่สามารถสร้างค่าคงที่ของประเภท สนับสนุนชนิดดั้งเดิมหรือชนิดการแจงนับเท่านั้นในบริบทนี้ ppCombinedด้านล่างเป็นIEnumerableวัตถุของPersonProtocolTypeซึ่งถูกสร้างขึ้นโดย concat ของ 2 PersonProtocolรายการ เหตุใดจึงล้มเหลว เราไม่สามารถใช้ LINQ JOINข้อภายในSELECTของJOIN? var persons = db.Favorites .Where(x => x.userId == userId) .Join(db.Person, x => x.personId, y => y.personId, (x, y) => new PersonDTO { personId = y.personId, addressId = y.addressId, favoriteId = x.favoriteId, personProtocol = (ICollection<PersonProtocol>) ppCombined .Where(a => a.personId …

21
วิธีแก้ไขข้อความแสดงข้อผิดพลาด:“ ไม่สามารถแมปพา ธ '/' ได้
ฉันค้นหาและค้นหาใน Google และฉันไม่สามารถหาสิ่งใดที่ดูเหมือนว่าเหมาะสมกับสถานการณ์ของฉันให้แก้ปัญหาเพียงลำพัง ไม่สำคัญว่าที่อยู่ใดในเว็บไซต์ของฉันที่ฉันพยายามนำทาง (แม้แต่ที่อยู่ที่ไม่มีให้ข้อผิดพลาดนี้แทนที่จะเป็น 404) ฉันได้รับข้อความเดียวกันแน่นอน (เส้นทางเป็น '/' เสมอ) ความคิดใด ๆ Server Error in '/' Application. Failed to map the path '/'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it …
163 c#  asp.net  iis 

9
การตรวจสอบที่อยู่อีเมลโดยใช้แอตทริบิวต์ประเภทข้อมูล ASP.NET MVC
ฉันมีปัญหากับการตรวจสอบอีเมล ในรูปแบบของฉัน: [Required(ErrorMessage = "Field can't be empty")] [DataType(DataType.EmailAddress, ErrorMessage = "E-mail is not valid")] public string ReceiverMail { get; set; } ในมุมมองของฉัน: <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> @Html.TextBoxFor(m => m.ReceiverMail, new { @placeholder="E-mail"}) <br /> @Html.ValidationMessageFor(m => m.ReceiverMail) ตอนนี้มันแสดงให้ฉันอย่างถูกต้อง "ช่องไม่สามารถว่างเปล่า" เมื่อคุณปล่อยให้ช่องว่าง แต่เมื่อคุณกรอกที่อยู่อีเมลที่ไม่ถูกต้องเช่น: "fwenrjfw" แบบฟอร์มจะไม่พูดว่า "อีเมลไม่ถูกต้อง" ฉันจะรับฟอร์มเพื่อตรวจสอบอินพุตเป็นที่อยู่อีเมลได้อย่างไร ฉันกำลังมองหาความช่วยเหลือเกี่ยวกับสิ่งนี้

10
เห็นผลลัพธ์ของคอนโซลใน Visual Studio 2010 หรือไม่
ฉันกำลังเขียนโปรแกรม C # แบบง่ายที่มีเอาต์พุตบางตัว ( Console.WriteLine("...");) ปัญหาคือทุกครั้งที่รันมันฉันไม่สามารถเห็นเอาต์พุตของโปรแกรมในหน้าต่างเอาต์พุต แท็ก "การแสดงผลของโปรแกรม" ได้รับการตรวจสอบแล้วและฉันได้เปลี่ยนเส้นทางการแสดงผลทั้งหมดไปที่หน้าต่างกลาง แต่ไม่มีประโยชน์ ฉันจะเปิดใช้งานการดูผลลัพธ์ของโปรแกรมได้อย่างไร ฉันไม่คิดว่าปัญหาอยู่ที่รหัสของฉัน ฉันพยายามเรียกใช้โปรแกรมอย่างง่ายที่เพิ่งแสดงผลสตริงและอ่านบรรทัด "ala hello world" และฉันก็ยังไม่เห็นผลลัพธ์ใด ๆ ปัญหาคือกับฉันกำลังมองหาผลลัพธ์ในตำแหน่งที่ไม่ถูกต้องหรือ Visual Studio ทำหน้าที่ออก debug.writeวิธีการยังไม่ได้ทำงาน ใช้debug.Writeงานได้แม้ว่ามันจะไม่ได้มาก่อน ก่อนที่ฉันจะรีสตาร์ทหรือฉันเพิ่งจะหยุดพักไม่ว่าจะด้วยวิธีใดก็ตามที่ฉันขอหยุดพักก็ได้ ขอบคุณทุกความคิดเห็นที่เป็นประโยชน์ =)

9
การสร้างคิวการบล็อค <T> ใน. NET?
ฉันมีสถานการณ์ที่ฉันมีหลายเธรดที่เพิ่มเข้ากับคิวและหลายเธรดที่อ่านจากคิวเดียวกัน หากคิวมาถึงขนาดเฉพาะเธรดทั้งหมดที่เติมคิวจะถูกบล็อกในการเพิ่มจนกว่ารายการจะถูกลบออกจากคิว วิธีแก้ปัญหาด้านล่างคือสิ่งที่ฉันใช้อยู่ตอนนี้และคำถามของฉันคือ: จะปรับปรุงได้อย่างไร มีวัตถุที่เปิดใช้งานลักษณะการทำงานนี้ใน BCL ที่ฉันควรใช้อยู่หรือไม่ internal class BlockingCollection&lt;T&gt; : CollectionBase, IEnumerable { //todo: might be worth changing this into a proper QUEUE private AutoResetEvent _FullEvent = new AutoResetEvent(false); internal T this[int i] { get { return (T) List[i]; } } private int _MaxSize; internal int MaxSize { get …

10
ฉันจะรับ URL แบบเต็มของหน้าเว็บที่ฉันใช้ใน C # ได้อย่างไร
ฉันต้องสามารถใช้ URL แบบเต็มของหน้าเว็บที่ฉันใช้จากการควบคุมของผู้ใช้ มันเป็นเพียงเรื่องของการเชื่อมโยงตัวแปร Request เข้าด้วยกันเป็นกลุ่มหรือไม่? ถ้าเป็นเช่นนั้น หรือมีวิธี simpiler มากกว่าหรือไม่

7
เมื่อใดจึงจะยกเลิก CancellationTokenSource
ชั้นเรียนCancellationTokenSourceเป็นแบบใช้แล้วทิ้ง การดูอย่างรวดเร็วใน Reflector พิสูจน์การใช้งานKernelEventซึ่งเป็นทรัพยากรที่ไม่มีการจัดการ (มีโอกาสมาก) เนื่องจากCancellationTokenSourceไม่มี finalizer หากเราไม่ได้กำจัด GC จะไม่ทำเช่นนั้น ในทางกลับกันถ้าคุณดูตัวอย่างที่แสดงอยู่ในบทความ MSDN การยกเลิกในเธรดที่ได้รับการจัดการมีเพียงข้อมูลโค้ดเดียวเท่านั้นที่ใช้โทเค็น เป็นวิธีที่เหมาะสมในการกำจัดมันในรหัสอะไร คุณไม่สามารถตัดโค้ดเพื่อเริ่มงานคู่ขนานของคุณได้usingหากคุณไม่รอ และมันก็สมเหตุสมผลที่จะยกเลิกหากคุณไม่รอ แน่นอนว่าคุณสามารถเพิ่มContinueWithงานด้วยการDisposeโทร แต่นั่นเป็นวิธีที่จะไปไหม? แล้วแบบสอบถาม PLINQ ที่ยกเลิกได้ซึ่งไม่ซิงโครไนซ์ย้อนกลับ แต่ทำอะไรได้บ้างในตอนท้าย สมมติว่า.ForAll(x =&gt; Console.Write(x))อย่างไร มันสามารถใช้ซ้ำได้หรือไม่ สามารถใช้โทเค็นเดียวกันสำหรับการโทรหลายครั้งแล้วทิ้งพร้อมกับส่วนประกอบโฮสต์สมมติว่าการควบคุม UI ได้หรือไม่ เนื่องจากมันไม่มีResetวิธีการล้างข้อมูลIsCancelRequestedและTokenฟิลด์ฉันคิดว่ามันไม่สามารถใช้ซ้ำได้ดังนั้นทุกครั้งที่คุณเริ่มงาน (หรือแบบสอบถาม PLINQ) คุณควรสร้างใหม่ มันจริงหรอ? ถ้าใช่คำถามของฉันคือกลยุทธ์ที่ถูกต้องและแนะนำในการจัดการกับอินสแตนซ์Disposeเหล่านั้นCancellationTokenSourceคืออะไร?

22
วิธีการจัดรูปแบบสตริงเป็นหมายเลขโทรศัพท์ใน C #
ฉันมีสตริง "1112224444" เป็นหมายเลขโทรศัพท์ฉันต้องการจัดรูปแบบเป็น 111-222-4444 ก่อนที่ฉันจะเก็บไว้ในไฟล์มันอยู่ใน datarecord และฉันต้องการทำสิ่งนี้โดยไม่ต้องกำหนดหมายเลขใหม่ ตัวแปร. ผมคิดว่า: String.Format("{0:###-###-####}", i["MyPhone"].ToString() ); แต่ดูเหมือนว่าจะไม่ทำเคล็ดลับ ** อัพเดท ** ตกลง. ฉันไปกับโซลูชันนี้ Convert.ToInt64(i["Customer Phone"]).ToString("###-###-#### ####") ตอนนี้มันจะสับสนเมื่อส่วนขยายน้อยกว่า 4 หลัก มันจะเติมตัวเลขจากด้านขวา ดังนั้น 1112224444 333 becomes 11-221-244 3334 ความคิดใด ๆ

12
การตรวจสอบว่าอาร์เรย์สตริงมีค่าหรือไม่หากได้รับตำแหน่ง
ฉันมีอาร์เรย์สตริงนี้: string[] stringArray = { "text1", "text2", "text3", "text4" }; string value = "text3"; ฉันต้องการที่จะตรวจสอบว่ามีstringArray valueถ้าเป็นเช่นนั้นฉันต้องการค้นหาตำแหน่งในอาร์เรย์ ฉันไม่ต้องการใช้ลูป ใครช่วยแนะนำฉันว่าฉันจะทำอย่างไร
163 c#  arrays  string 

7
มีข้อยกเว้นอะไรบ้างที่ควรส่งออกมาสำหรับพารามิเตอร์ที่ไม่ถูกต้องหรือไม่คาดคิดใน.
มีข้อยกเว้นชนิดใดควรถูกส่งออกเนื่องจากพารามิเตอร์ไม่ถูกต้องหรือไม่คาดคิดใน. NET เมื่อใดที่ฉันจะเลือกหนึ่งแทนที่จะเป็นอื่น ติดตาม: ข้อยกเว้นใดที่คุณจะใช้หากคุณมีฟังก์ชั่นที่คาดว่าจะเป็นจำนวนเต็มสอดคล้องกับเดือนและคุณผ่านใน '42' สิ่งนี้จะตกอยู่ในหมวดหมู่ "นอกขอบเขต" แม้ว่าจะไม่ใช่คอลเล็กชันหรือไม่
163 c#  .net  vb.net  exception 

4
การทำให้เป็นจริงคืออะไร?
ฉันรู้ว่า Java ใช้ตัวแปรหลากหลาย (Generics) กับการลบ ฉันเข้าใจว่าการลบคืออะไร ฉันรู้ว่า C # ใช้ตัวแปรความแปรปรวนร่วมกับการทำให้เป็นจริง ฉันรู้ว่าสามารถทำให้คุณเขียน public void dosomething(List&lt;String&gt; input) {} public void dosomething(List&lt;Int&gt; input) {} หรือว่าคุณสามารถรู้ตอนรันไทม์พารามิเตอร์ประเภทของบางประเภทพารามิเตอร์คืออะไร แต่ฉันไม่เข้าใจว่ามันคืออะไร ประเภท reified คืออะไร? ค่า reified คืออะไร? จะเกิดอะไรขึ้นเมื่อมีการแก้ไขประเภท / ค่า
163 c#  generics  reification 

12
ObservableCollection ไม่รองรับวิธี AddRange ดังนั้นฉันจึงได้รับแจ้งเมื่อเพิ่มรายการแต่ละรายการนอกเหนือจาก INotifyCollectionChanging แล้ว
ฉันต้องการเพิ่มช่วงและรับการอัปเดตสำหรับกลุ่มทั้งหมด ฉันยังต้องการที่จะสามารถยกเลิกการกระทำก่อนที่จะทำ (เช่นการเปลี่ยนแปลงคอลเลกชันนอกเหนือจาก 'เปลี่ยน') ที่เกี่ยวข้อง Q คอลเลกชัน. Net ใดสำหรับการเพิ่มวัตถุหลายรายการพร้อมกันและรับการแจ้งเตือน

12
ค้นหาสตริงใน Enum และส่งคืน Enum
ฉันมีการแจงนับ: public enum MyColours { Red, Green, Blue, Yellow, Fuchsia, Aqua, Orange } และฉันมีสตริง: string colour = "Red"; ฉันต้องการที่จะกลับมา: MyColours.Red จาก: public MyColours GetColour(string colour) จนถึงตอนนี้ฉันมี: public MyColours GetColours(string colour) { string[] colours = Enum.GetNames(typeof(MyColours)); int[] values = Enum.GetValues(typeof(MyColours)); int i; for(int i = 0; i &lt; colours.Length; i++) { …
163 c#  string  enumeration 

11
แปลงรายการเป็นพจนานุกรมโดยใช้ linq และไม่ต้องกังวลกับรายการซ้ำ
ฉันมีรายการวัตถุบุคคล ฉันต้องการแปลงเป็นพจนานุกรมโดยที่สำคัญคือชื่อและนามสกุล (ตัดแบ่ง) และค่าคือวัตถุบุคคล ปัญหาคือฉันมีบางคนที่ซ้ำซ้อนดังนั้นนี่จะระเบิดถ้าฉันใช้รหัสนี้: private Dictionary&lt;string, Person&gt; _people = new Dictionary&lt;string, Person&gt;(); _people = personList.ToDictionary( e =&gt; e.FirstandLastName, StringComparer.OrdinalIgnoreCase); ฉันรู้ว่ามันฟังดูแปลก แต่ตอนนี้ฉันไม่สนใจชื่อที่ซ้ำกันจริงๆ หากมีหลายชื่อฉันแค่อยากจะคว้ามันมา มีอยู่แล้วฉันสามารถเขียนรหัสนี้ด้านบนเพื่อใช้ชื่อเดียวและไม่ระเบิดซ้ำ
163 c#  linq  dictionary 

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