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

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

7
MemoryCache ไม่เป็นไปตามขีด จำกัด หน่วยความจำในการกำหนดค่า
ฉันกำลังทำงานกับคลาส. NET 4.0 MemoryCacheในแอปพลิเคชันและพยายาม จำกัด ขนาดแคชสูงสุด แต่ในการทดสอบของฉันไม่ปรากฏว่าแคชเป็นไปตามขีด จำกัด ฉันใช้การตั้งค่าซึ่งตาม MSDNควร จำกัด ขนาดแคช: CacheMemoryLimitMegabytes : ขนาดหน่วยความจำสูงสุดเป็นเมกะไบต์ที่อินสแตนซ์ของวัตถุสามารถขยายได้ " PhysicalMemoryLimitPercentage : "เปอร์เซ็นต์ของหน่วยความจำฟิสิคัลที่แคชสามารถใช้ได้แสดงเป็นค่าจำนวนเต็มตั้งแต่ 1 ถึง 100 ค่าดีฟอลต์คือศูนย์ซึ่งบ่งชี้ว่าอินสแตนซ์ MemoryCacheจัดการหน่วยความจำ 1ของตนเองตามจำนวนหน่วยความจำที่ติดตั้งบน คอมพิวเตอร์." 1.สิ่งนี้ไม่ถูกต้องทั้งหมด - ค่าใด ๆ ที่ต่ำกว่า 4 จะถูกละเว้นและแทนที่ด้วย 4 ฉันเข้าใจว่าค่าเหล่านี้เป็นค่าโดยประมาณและไม่ใช่ข้อ จำกัด อย่างหนักเนื่องจากเธรดที่ล้างแคชจะเริ่มทำงานทุกๆ x วินาทีและยังขึ้นอยู่กับช่วงเวลาการสำรวจและตัวแปรอื่น ๆ ที่ไม่มีเอกสาร อย่างไรก็ตามแม้จะคำนึงถึงความแปรปรวนเหล่านี้ แต่ฉันก็เห็นขนาดแคชที่ไม่สอดคล้องกันอย่างมากเมื่อรายการแรกถูกขับออกจากแคชหลังจากตั้งค่าCacheMemoryLimitMegabytes และPhysicalMemoryLimitPercentageร่วมกันหรือเอกพจน์ในแอปทดสอบ เพื่อให้แน่ใจว่าฉันทำการทดสอบแต่ละครั้ง 10 ครั้งและคำนวณตัวเลขเฉลี่ย นี่คือผลลัพธ์ของการทดสอบโค้ดตัวอย่างด้านล่างบนพีซี Windows 7 …
87 c#  .net  caching  memorycache 

2
เหตุใดจึงมีคลาส async state ของเครื่อง (และไม่ใช่โครงสร้าง) ใน Roslyn
ลองพิจารณาวิธีการ async ที่ง่ายมากนี้: static async Task myMethodAsync() { await Task.Delay(500); } เมื่อฉันรวบรวมสิ่งนี้ด้วย VS2013 (คอมไพเลอร์ก่อน Roslyn) สถานะเครื่องที่สร้างขึ้นจะเป็นโครงสร้าง private struct <myMethodAsync>d__0 : IAsyncStateMachine { ... void IAsyncStateMachine.MoveNext() { ... } } เมื่อฉันรวบรวมด้วย VS2015 (Roslyn) รหัสที่สร้างขึ้นคือ: private sealed class <myMethodAsync>d__1 : IAsyncStateMachine { ... void IAsyncStateMachine.MoveNext() { ... } } อย่างที่คุณเห็น Roslyn สร้างคลาส …

12
แนวทางปฏิบัติที่ดีที่สุดสำหรับโซลูชันขนาดใหญ่ใน Visual Studio (2008) [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา เรามีโซลูชันที่มีโครงการมากกว่า 100 โครงการซึ่งส่วนใหญ่เป็น C # โดยปกติแล้วมันใช้เวลานานทั้งในการเปิดและสร้างดังนั้นฉันจึงมองหาแนวทางปฏิบัติที่ดีที่สุดสำหรับสัตว์ชนิดนี้ ตามแนวคำถามที่ฉันหวังว่าจะได้รับคำตอบคือ: คุณจะจัดการการอ้างอิงระหว่างโครงการอย่างไรให้ดีที่สุด "คัดลอกในเครื่อง" ควรเปิดหรือปิด? ทุกโครงการควรสร้างไปยังโฟลเดอร์ของตัวเองหรือควรสร้างไปยังโฟลเดอร์ผลลัพธ์เดียวกัน (ทั้งหมดเป็นส่วนหนึ่งของแอปพลิเคชันเดียวกัน) โฟลเดอร์ของโซลูชันเป็นวิธีที่ดีในการจัดระเบียบสิ่งต่างๆหรือไม่? ฉันรู้ว่าการแยกโซลูชันออกเป็นโซลูชันขนาดเล็กหลาย ๆ ตัวเป็นตัวเลือก แต่มันมาพร้อมกับชุดการปรับโครงสร้างใหม่และการสร้างความปวดหัวดังนั้นบางทีเราสามารถบันทึกได้สำหรับเธรดแยกต่างหาก :-)

17
แปลงข้อมูลเป็น JSON ใน C #
ฉันต้องการรับบันทึกจากฐานข้อมูลเป็นไฟล์DataTable. จากนั้นแปลงDataTableเป็นวัตถุ JSON ส่งคืนวัตถุ JSON ไปยังฟังก์ชัน JavaScript ของฉัน ฉันใช้รหัสนี้โดยโทร: string result = JsonConvert.SerializeObject(DatatableToDictionary(queryResult, "Title"), Newtonsoft.Json.Formatting.Indented); ในการแปลง DataTable เป็น JSON จะทำงานได้อย่างถูกต้องและส่งคืนสิ่งต่อไปนี้: { "1": { "viewCount": 703, "clickCount": 98 }, "2": { "viewCount": 509, "clickCount": 85 }, "3": { "viewCount": 578, "clickCount": 86 }, "4": { "viewCount": 737, "clickCount": 108 }, "5": …
87 c#  json  datatable 

16
นักพัฒนา C # ที่เรียนรู้ Java อะไรคือความแตกต่างที่ใหญ่ที่สุดที่อาจมองข้ามไป? [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ สำหรับนักพัฒนา c # ที่ต้องการเรียนรู้ Java มีความแตกต่างที่สำคัญระหว่างสองภาษาที่ควรระบุหรือไม่? บางทีบางคนอาจคิดว่าเหมือนกัน แต่มีแง่มุมการนำเข้าที่ไม่ควรมองข้าม? (หรือคุณจะทำผิดจริงๆ!) อาจเป็นในแง่ของโครงสร้าง OOP วิธีการทำงานของ GC การอ้างอิงการปรับใช้ที่เกี่ยวข้อง ฯลฯ
87 c#  java 

6
วิธีที่ถูกต้องในการเปรียบเทียบ System.Double ถึง '0' (a number, int?)
ขอโทษนะนี่อาจจะเป็นคำถามโง่ ๆ ง่ายๆ แต่ฉันต้องรู้ให้แน่ใจ ฉันมีifสำนวนนี้ void Foo() { System.Double something = GetSomething(); if (something == 0) //Comparison of floating point numbers with equality // operator. Possible loss of precision while rounding value {} } นิพจน์นั้นเท่ากับหรือไม่ void Foo() { System.Double something = GetSomething(); if (something < 1) {} } เหรอ? เพราะงั้นฉันอาจมีปัญหาป้อนifด้วยเช่นค่า …
87 c#  compare 

11
วิธีลบคุกกี้บนเว็บไซต์ ASP.NET
ในเว็บไซต์ของฉันเมื่อผู้ใช้คลิกที่ปุ่ม "ออกจากระบบ" โหลดหน้าเว็บ Logout.aspx Session.Clear()ด้วยรหัส ใน ASP.NET/C# สิ่งนี้ล้างคุกกี้ทั้งหมดหรือไม่ หรือมีรหัสอื่นที่ต้องเพิ่มเพื่อลบคุกกี้ทั้งหมดในเว็บไซต์ของฉันหรือไม่?

10
จะเลือกตัวเลือกจากดรอปดาวน์โดยใช้ Selenium WebDriver C # ได้อย่างไร?
ฉันพยายามทดสอบเว็บโดยเลือกตัวเลือก ดูตัวอย่างได้ที่นี่: http://www.tizag.com/phpT/examples/formex.php ทุกอย่างใช้งานได้ดียกเว้นการเลือกส่วนตัวเลือก จะเลือกตัวเลือกตามค่าหรือตามป้ายได้อย่างไร? รหัสของฉัน: using OpenQA.Selenium.Firefox; using OpenQA.Selenium; using System.Collections.ObjectModel; using System.Text.RegularExpressions; using System.Threading; using System.Diagnostics; using System.Runtime.InteropServices; class GoogleSuggest { static void Main() { IWebDriver driver = new FirefoxDriver(); //Notice navigation is slightly different than the Java version //This is because 'get' is a keyword in C# …

6
ฉันจะใช้ Moq เพื่อจำลองวิธีการขยายได้อย่างไร
ฉันกำลังเขียนการทดสอบที่ขึ้นอยู่กับผลลัพธ์ของวิธีการขยาย แต่ฉันไม่ต้องการให้ความล้มเหลวในอนาคตของวิธีการขยายนั้นทำลายการทดสอบนี้ การเยาะเย้ยผลลัพธ์นั้นดูเหมือนเป็นทางเลือกที่ชัดเจน แต่Moq ดูเหมือนจะไม่เสนอวิธีที่จะแทนที่วิธีการแบบคงที่ (ข้อกำหนดสำหรับวิธีการขยาย) มีความคิดที่คล้ายกันกับ Moq.Protected และ Moq.Stub แต่ดูเหมือนจะไม่เสนออะไรให้กับสถานการณ์นี้ ฉันพลาดอะไรไปหรือฉันควรจะไปทางอื่น นี่เป็นตัวอย่างเล็ก ๆ น้อย ๆ ที่ล้มเหลวด้วยปกติ"ความคาดหวังที่ไม่ถูกต้องเกี่ยวกับการเป็นสมาชิกที่ไม่ใช่ overridable" นี่เป็นตัวอย่างที่ไม่ดีที่ต้องล้อเลียนวิธีการขยาย แต่ควรทำ public class SomeType { int Id { get; set; } } var ListMock = new Mock<List<SomeType>>(); ListMock.Expect(l => l.FirstOrDefault(st => st.Id == 5)) .Returns(new SomeType { Id = 5 }); …

7
ได้รับความยาวคอลัมน์ที่ไม่ถูกต้องจากไคลเอนต์ bcp สำหรับ colid 6
ฉันต้องการอัปโหลดข้อมูลไฟล์ csv จำนวนมากไปยังเซิร์ฟเวอร์ sql 2005 จากรหัส c # แต่ฉันพบข้อผิดพลาดด้านล่าง - ได้รับความยาวคอลัมน์ที่ไม่ถูกต้องจากไคลเอนต์ bcp สำหรับ colid 6 เมื่อสำเนาจำนวนมากเขียนไปยังเซิร์ฟเวอร์ฐานข้อมูล

12
วิธีจัดการกับ XML ใน C #
วิธีที่ดีที่สุดในการจัดการกับเอกสาร XML, XSD และอื่น ๆ ใน C # 2.0 คืออะไร? จะใช้คลาสใดเป็นต้นแนวทางปฏิบัติที่ดีที่สุดในการแยกวิเคราะห์และการทำเอกสาร XML เป็นต้น แก้ไข: ยินดีต้อนรับคำแนะนำ. Net 3.5
87 c#  .net  xml 

4
ฉันจะสร้างสิ่งที่จับข้อยกเว้น 'ที่ไม่สามารถจัดการได้' ทั้งหมดในแอปพลิเคชัน WinForms ได้อย่างไร
จนถึงตอนนี้ฉันเพิ่งวางบล็อก try / catch ไว้Application.RunในProgram.csจุดเริ่มต้นของโปรแกรม สิ่งนี้จับข้อยกเว้นทั้งหมดได้ดีพอในโหมด Debug แต่เมื่อฉันเรียกใช้โปรแกรมโดยไม่มีโหมดดีบักข้อยกเว้นจะไม่ได้รับการจัดการอีกต่อไป ฉันได้รับกล่องข้อยกเว้นที่ไม่สามารถจัดการได้ ฉันไม่ต้องการให้สิ่งนี้เกิดขึ้น ฉันต้องการให้ตรวจจับข้อยกเว้นทั้งหมดเมื่อทำงานในโหมดไม่แก้ไขข้อบกพร่อง โปรแกรมมีเธรดหลายเธรดและโดยเฉพาะอย่างยิ่งข้อยกเว้นทั้งหมดจะถูกจับโดยตัวจัดการเดียวกัน ฉันต้องการบันทึกข้อยกเว้นในฐานข้อมูล ใครมีคำแนะนำในการทำเช่นนี้หรือไม่?

5
วิธีเรียกใช้แพ็คเกจ SSIS จาก. NET
ฉันมีแพ็คเกจ SSIS ที่ในที่สุดฉันก็อยากจะส่งผ่านพารามิเตอร์เช่นกันพารามิเตอร์เหล่านี้จะมาจากแอปพลิเคชัน. NET (VB หรือ C #) ดังนั้นฉันจึงอยากรู้ว่ามีใครรู้วิธีการทำเช่นนี้หรือดีกว่าเว็บไซต์ที่มีคำแนะนำที่เป็นประโยชน์ เกี่ยวกับวิธีการทำ โดยพื้นฐานแล้วฉันต้องการเรียกใช้แพ็คเกจ SSIS จาก. NET ผ่านพารามิเตอร์แพ็คเกจ SSIS ที่สามารถใช้ภายในได้ ตัวอย่างเช่นแพ็คเกจ SSIS จะใช้การนำเข้าไฟล์แบบแบนไปยังฐานข้อมูล SQL อย่างไรก็ตามเส้นทางและชื่อของไฟล์อาจเป็นพารามิเตอร์ที่ส่งผ่านจากแอปพลิเคชัน. Net
87 c#  .net  sql-server  vb.net  ssis 

13
เหตุใดจึงต้องใช้ C # class System.Random แทน System.Security.Cryptography.RandomNumberGenerator
ทำไมใคร ๆ ก็ใช้ตัวสร้างตัวเลขสุ่ม "มาตรฐาน" จากSystem.Randomเลยแทนที่จะใช้ตัวสร้างตัวเลขสุ่มที่ปลอดภัยด้วยการเข้ารหัสลับจากSystem.Security.Cryptography.RandomNumberGenerator (หรือคลาสย่อยเนื่องจาก RandomNumberGenerator เป็นนามธรรม) Nate Lawson บอกเราในงานนำเสนอของ Google Tech Talk ว่า " Crypto Strikes Back " ในนาทีที่ 13:11 ว่าอย่าใช้เครื่องกำเนิดตัวเลขสุ่ม "มาตรฐาน" จาก Python, Java และ C # และให้ใช้เวอร์ชันที่มีการเข้ารหัสลับที่ปลอดภัยแทน ฉันรู้ความแตกต่างระหว่างเครื่องสร้างตัวเลขสุ่มทั้งสองเวอร์ชัน (ดูคำถาม 101337 ) แต่มีเหตุผลอะไรบ้างที่จะไม่ใช้ตัวสร้างตัวเลขสุ่มที่ปลอดภัยเสมอไป? ทำไมต้องใช้ System.Random เลย? ประสิทธิภาพบางที?
87 c#  .net  cryptography  random 


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