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

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

7
รายการสตริงเฉพาะ C # ที่มีประสิทธิภาพ
วิธีใดที่มีประสิทธิภาพที่สุดในการจัดเก็บรายการสตริงโดยไม่สนใจรายการที่ซ้ำกัน ฉันคิดว่าพจนานุกรมอาจจะแทรกสตริงได้ดีที่สุดโดยการเขียน dict [str] = false; และแจกแจงผ่านคีย์เป็นรายการ นั่นเป็นทางออกที่ดีหรือไม่?
86 c#  unique-values 

1
การต่อสายอักขระโดยใช้ตัวดำเนินการ '+'
เมื่อดูที่stringข้อมูลเมตาของชั้นเรียนฉันเห็นเพียงตัวดำเนินการ==และมีงาน!=มากเกินไป แล้วจะสามารถทำการเชื่อมต่อสำหรับตัวดำเนินการ ' +' ได้อย่างไร? แก้ไข : บันทึกที่น่าสนใจจาก Eric Lippert เกี่ยวกับการต่อสายอักขระ: ส่วนที่ 1 ส่วนที่ 2 นอกจากนี้ยังมีบทความพิเศษจาก Joel ที่อ้างถึงในส่วนที่ 2 ( http://www.joelonsoftware.com/articles/fog0000000319.html )
86 c#  .net  string 

2
Visual Studio การคอมไพล์แบบยาวเมื่อแทนที่ int ด้วย double
สำเนา VS2013 Ultimate ของฉันรวบรวมรหัสนี้เป็นเวลา 60 วินาที: class Program { static void Main(string[] args) { double dichotomy = Dichotomy( d => { try { int size = (int) d; byte[] b = new byte[size]; return -b.Length; } catch (Exception) { return 0; } }, 0, int.MaxValue, 1); Console.WriteLine(dichotomy); Console.ReadKey(); } private …

10
'มี ()' วิธีแก้ปัญหาโดยใช้ Linq ไปยังเอนทิตี?
ฉันกำลังพยายามสร้างแบบสอบถามที่ใช้รายการรหัสในส่วนคำสั่ง where โดยใช้ API ไคลเอนต์ Silverlight ADO.Net Data Services (และดังนั้น Linq To Entities) ไม่มีใครรู้วิธีแก้ปัญหาสำหรับการประกอบด้วยที่ไม่รองรับ? ฉันต้องการทำสิ่งนี้: List<long?> txnIds = new List<long?>(); // Fill list var q = from t in svc.OpenTransaction where txnIds.Contains(t.OpenTransactionId) select t; ลองสิ่งนี้: var q = from t in svc.OpenTransaction where txnIds.Any<long>(tt => tt == t.OpenTransactionId) select t; …

7
วิธีการใช้รูปแบบพื้นที่เก็บข้อมูลอย่างถูกต้อง?
ฉันสงสัยว่าฉันควรจัดกลุ่มที่เก็บของฉันอย่างไร เช่นเดียวกับตัวอย่างที่ฉันเห็นใน asp.net mvc และในหนังสือของฉันโดยทั่วไปพวกเขาใช้ที่เก็บเดียวต่อตารางฐานข้อมูล แต่ดูเหมือนว่าจะมีที่เก็บมากมายที่ทำให้คุณต้องเรียกใช้ที่เก็บข้อมูลมากมายในภายหลังเพื่อล้อเลียนและสิ่งของต่างๆ ดังนั้นฉันเดาว่าฉันควรจัดกลุ่ม อย่างไรก็ตามฉันไม่แน่ใจว่าจะจัดกลุ่มอย่างไร ตอนนี้ฉันได้ทำการลงทะเบียน Repository เพื่อจัดการข้อมูลการลงทะเบียนทั้งหมดของฉัน อย่างไรก็ตามมี 4 ตารางที่ฉันต้องอัปเดตและก่อนที่ฉันจะมีที่เก็บ 3 แห่งเพื่อทำสิ่งนี้ ตัวอย่างเช่นหนึ่งในตารางคือตารางใบอนุญาต เมื่อพวกเขาลงทะเบียนฉันดูที่คีย์และตรวจสอบเพื่อดูว่ามีอยู่ในฐานข้อมูลหรือไม่ จะเกิดอะไรขึ้นถ้าฉันต้องการตรวจสอบรหัสใบอนุญาตนี้หรืออย่างอื่นจากตารางนั้นที่จุดอื่น ๆ จากนั้นลงทะเบียน จุดหนึ่งสามารถล็อกอินได้ (ตรวจสอบว่าคีย์ยังไม่หมดอายุหรือไม่) แล้วฉันจะทำอย่างไรในสถานการณ์นี้? เขียนโค้ดใหม่อีกครั้ง (แตก DRY)? พยายามรวม 2 ที่เก็บเหล่านี้เข้าด้วยกันและหวังว่าจะไม่มีวิธีใดที่จำเป็นในช่วงเวลาอื่น (เช่นบางทีฉันอาจมีวิธีที่ตรวจสอบว่ามีการใช้ userName หรือไม่ - บางทีฉันอาจจะต้องใช้ที่อื่น) นอกจากนี้ถ้าฉันรวมเข้าด้วยกันฉันจะต้องใช้ชั้นบริการ 2 ชั้นที่ไปที่ที่เก็บเดียวกันเนื่องจากฉันคิดว่าการมีตรรกะทั้งหมดสำหรับ 2 ส่วนที่แตกต่างกันของไซต์จะยาวและฉันจะต้องมีชื่อเช่น ValidateLogin (), ValdiateRegistrationForm () , ValdiateLoginRetrievePassword () และอื่น ๆ หรือเรียก …

15
ไม่สามารถจัดลำดับการตอบสนองใน Web API
ฉันกำลังทำงานกับ ASP.NET MVC web API ฉันพบข้อผิดพลาดนี้: ประเภท 'ObjectContent'1' ล้มเหลวในการจัดลำดับเนื้อหาการตอบสนองสำหรับประเภทเนื้อหา 'application / xml; charset = utf-8 ' ตัวควบคุมของฉันคือ: public Employee GetEmployees() { Employee employees = db.Employees.First(); return employees; } ทำไมฉันถึงได้รับข้อผิดพลาดนี้

5
เป็นไปได้หรือไม่ที่จะเรียกใช้แอพ. NET 4.5 บน XP?
ก่อนอื่นฉันได้อ่านสิ่งต่อไปนี้: เชื่อมต่อกรณี VS กรณี และโดยเฉพาะอย่างยิ่งโพสต์ channel9 นี้ ดังนั้นจากสัญลักษณ์แสดงหัวข้อย่อยสุดท้ายฉันคิดว่าไม่มีทางเกิดขึ้นได้ แต่ฉันต้องดูว่าฉันจะได้รับคำตอบที่ชัดเจนหรือไม่เนื่องจากทีมของฉันต้องการอัปเกรดจาก. NET 4.0 เป็น. NET 4.5 อย่างไรก็ตามเราต้องรองรับ XP ไม่มีความเป็นไปได้ที่จะไปที่. NET 4.5 หากเราต้องการรองรับ XP? สิ่งเดียวที่ฉันคิดได้คือการสร้างโซลูชันสองแบบแยกกัน แต่โค้ดเบสจะต้องแตกต่างกันถ้าเราใช้คุณสมบัติ. NET 4.5 ดังนั้นฉันกำลังมองหาวิธีแก้ปัญหาที่น่าทึ่งบางอย่างที่ฉันไม่พบและคนอื่น ๆ อาจจะรู้แล้ว

5
การคำนวณจำนวนนาทีระหว่างสองครั้ง
ฉันมี datagridview ในแอปพลิเคชันของฉันซึ่งมีเวลาเริ่มต้นและเวลาสิ้นสุด ฉันต้องการคำนวณจำนวนนาทีระหว่างสองครั้งนี้ จนถึงตอนนี้ฉันมี: var varFinish = tsTable.Rows[intCellRow]["Finish Time"]; TimeSpan varTime = (DateTime)varFinish - (DateTime)varValue; int intMinutes = TimeSpan.FromMinutes(varTime); แต่บรรทัดสุดท้ายจะไม่รวบรวมเพราะมันบอกว่าฉันใช้อาร์กิวเมนต์ที่ไม่ถูกต้องสำหรับตัวสร้าง Timespan ฉันค้นคว้ามาพอสมควรเกี่ยวกับวิธีคำนวณจำนวนนาทีระหว่างสองครั้ง แต่ฉันชนกำแพงอิฐเล็กน้อย ใครช่วยแนะนำฉันเกี่ยวกับวิธีที่ดีที่สุดในการบรรลุวัตถุประสงค์ของฉัน แก้ไข / ตอนนี้รหัสของฉันมีดังนี้: var varFinish = tsTable.Rows[intCellRow]["Finish Time"]; TimeSpan varTime = (DateTime)varFinish - (DateTime)varValue; int intMinutes = (int)varTime.TotalMinutes; แต่ฉันได้รับการแคสที่ไม่ถูกต้องในบรรทัดที่สอง ทั้ง varFinish และ varValue คือเวลาเช่น 10:00 …
86 c# 

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

3
เข้าถึงตัวแปร foreach ในคำเตือนการปิด
ฉันได้รับคำเตือนต่อไปนี้: เข้าถึงตัวแปร foreach ในการปิด อาจมีลักษณะการทำงานที่แตกต่างกันเมื่อคอมไพล์ด้วยคอมไพเลอร์เวอร์ชันต่างๆ นี่คือสิ่งที่ดูเหมือนในตัวแก้ไขของฉัน: ฉันรู้วิธีแก้ไขคำเตือนนี้ แต่ฉันอยากรู้ว่าทำไมฉันถึงได้รับคำเตือนนี้ นี่เกี่ยวกับเวอร์ชัน "CLR" หรือไม่ เกี่ยวข้องกับ "IL" หรือไม่?
86 c#  .net 

4
คำหลัก let ของ linq ดีกว่าคำหลักหรือไม่?
ตอนนี้ฉันกำลังใช้ LINQ และกำลังพยายามทำความเข้าใจความแตกต่างระหว่างคำหลักletและการใช้intoคำหลัก จนถึงตอนนี้letคีย์เวิร์ดดูเหมือนดีกว่าintoคีย์เวิร์ดเท่าที่ฉันเข้าใจ โดยintoหลักแล้วคำหลักช่วยให้สามารถดำเนินการสืบค้นต่อไปได้หลังจากการฉายภาพ (เพียงต้องการระบุอย่างชัดเจนว่าฉันไม่ได้หมายถึงหนึ่งในการเข้าร่วมกลุ่ม) ด้วยอาร์เรย์ของชื่อที่อนุญาตให้ทำสิ่งต่อไปนี้: var intoQuery = from n in names select Regex.Replace(n, "[aeiou]", "") into noVowel where noVowel.Length > 2 select noVowel; มันต้องใช้ผลมาจากการเลือกและวางมันลงไปในnoVowelตัวแปรแล้วซึ่งช่วยให้หนึ่งที่จะแนะนำเพิ่มเติมwhere, orderbyและselectข้อ เมื่อnoVowelสร้างnตัวแปรแล้วตัวแปรจะไม่สามารถใช้ได้อีกต่อไป ในทางกลับกันletคำหลักจะใช้ประเภทที่ไม่ระบุตัวตนชั่วคราวเพื่อให้คุณสามารถใช้ตัวแปรได้มากกว่าหนึ่งตัวแปรในแต่ละครั้ง คุณสามารถทำสิ่งต่อไปนี้: var letQuery = from n in names let noVowel = Regex.Replace(n, "[aeiou]", "") where noVowel.Length > 2 select noVowel; …
86 c#  linq 

7
สามารถเรียกรหัส C ++ จาก C # ได้หรือไม่?
เป็นไปได้หรือไม่ที่จะเรียกรหัส C ++ ซึ่งอาจรวบรวมเป็นไฟล์ไลบรารีโค้ด (.dll) จากภายในภาษา. NET เช่น C # โดยเฉพาะรหัส C ++ เช่นไลบรารีเครือข่าย RakNet
86 c#  .net  c++  unmanaged  managed 



7
ฉันควรใช้ AppDomain.CurrentDomain.BaseDirectory หรือ System.Environment.CurrentDirectory
ฉันมีไฟล์ exe สองไฟล์ในโฟลเดอร์เดียวกันฉันสามารถเรียกใช้ exe2 จากปุ่มใน exe1 วันนี้ฉันสังเกตเห็นลูกค้าในเซสชันรีโมต (บริการเทอร์มินัล) และ exe2 ล้มเหลวในการเรียกใช้ข้อผิดพลาด 'ไม่พบไฟล์' แต่ exe1 อยู่ในไดเร็กทอรีเดียวกันเมื่อเราตรวจสอบ ดังนั้นผมควรจะใช้AppDomain.CurrentDomain.BaseDirectoryหรือSystem.Environment.CurrentDirectory ? ขอบคุณ
86 c#  exception 

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