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

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

5
c # - Microsoft Graph API - ตรวจสอบว่ามีโฟลเดอร์อยู่หรือไม่
ฉันใช้ Microsoft Graph API และฉันกำลังสร้างโฟลเดอร์ดังนี้: var driveItem = new DriveItem { Name = Customer_Name.Text + Customer_LName.Text, Folder = new Folder { }, AdditionalData = new Dictionary<string, object>() { {"@microsoft.graph.conflictBehavior","rename"} } }; var newFolder = await App.GraphClient .Me .Drive .Items["id-of-folder-I-am-putting-this-into"] .Children .Request() .AddAsync(driveItem); คำถามของฉันคือฉันจะตรวจสอบว่าโฟลเดอร์นี้มีอยู่และถ้ามันจะได้รับ ID ของโฟลเดอร์?

2
ตารางที่ผู้ใช้กำหนดใน Entity Framework สร้างแบบสอบถามที่ไม่ถูกต้อง
ฉันคิดว่าฉันกำลังประสบปัญหาใน Entity Framework 6 และอาจเป็น ADO.NET เนื่องจากมีกำหนดส่งฉันไม่แน่ใจว่าฉันสามารถรอให้ข้อผิดพลาดนี้ได้รับการแก้ไขและหวังว่าจะมีคนช่วยฉันทำความสะอาดรอบ ๆ ตัว ปัญหาคือแบบสอบถามใช้ค่า 1 และ 5 ในตำแหน่งที่ควรเป็น 0.01 และ 0.05 อย่างไรก็ตามดูเหมือนว่าจะมีการใช้งาน 0.1 ที่แปลก แบบสอบถามที่สร้างขึ้นในปัจจุบันคือ: (รับจาก SQL Server Profiler) declare @p3 dbo.someUDT insert into @p3 values(NULL,5) insert into @p3 values(5,0.10) insert into @p3 values(NULL,1) insert into @p3 values(1,2) exec sp_executesql N'Select * from @AName',N'@AName …

1
ทำไมมันเร็วขึ้นถ้าฉันใส่ ToArray พิเศษก่อน ToLookup
เรามีวิธีสั้น ๆ ที่แยกวิเคราะห์ไฟล์. csv ไปที่การค้นหา: ILookup<string, DgvItems> ParseCsv( string fileName ) { var file = File.ReadAllLines( fileName ); return file.Skip( 1 ).Select( line => new DgvItems( line ) ).ToLookup( item => item.StocksID ); } และคำจำกัดความของ DgvItems: public class DgvItems { public string DealDate { get; } public string StocksID { …
10 c#  linq 

5
มีวิธีการรหัสสำหรับลูปเพื่อที่จะไม่เพิ่มขึ้นตามลำดับหรือไม่
ฉันมีวงนี้: for (int i = 1; i < 10; i++) แต่ฉันต้องการให้ฉันมีเพียง 1,2,4,5 และ 7 และฉันจะทำโค้ดนี้ มีวิธีที่ฉันสามารถทำกับสิ่งที่เหมือนอาร์เรย์หรือไม่
10 c# 

1
ข้อมูลประเภทการอ้างอิงที่เป็นโมฆะไม่ถูกเปิดเผยจาก FirstOrDefault
ฉันต้องการทดสอบคุณลักษณะการอ้างอิงชนิด nullableใหม่ใน C # 8.0 ฉันเริ่มโครงการใหม่ที่กำหนดเป้าหมายเป็น. NET Core 3.0 เปิดใช้งานประเภทการอ้างอิง nullable ใน.csprojไฟล์และเริ่มการเข้ารหัส ฉันสร้างรายการที่เรียบง่ายที่จะใช้เวลาstring[]และการส่งกลับในอาร์เรย์ที่เท่าเทียมกันstring abcตอนนี้เนื่องจากฉันไม่แน่ใจว่าabcมีอยู่จริงในอาร์เรย์ฉันใช้FirstOrDefault()ซึ่งควรเริ่มต้นnullหากไม่พบการจับคู่ using System; using System.Linq; public string FindArgument(string[] args) { var arg = args.FirstOrDefault(x => x == "abc"); return arg; } วิธีการส่งกลับของฉันstringซึ่งควรในขณะนี้เป็นที่ไม่ใช่ nullableประเภท เนื่องจากFirstOrDefault()อาจส่งคืนnullฉันคาดหวังว่าวิธีการข้างต้นให้คำเตือนเมื่อส่งกลับตัวแปรอาจเป็นโมฆะ argมันไม่ใช่. เมื่อมองที่ลายเซ็นต์สำหรับFirstOrDefault()ใน Visual Studio จะเห็นได้ชัดว่าทำไม : วิธีการส่งกลับค่าstringไม่ใช่สิ่งที่เทียบเท่าได้ซึ่งstring?ฉันคาดหวัง การใช้วิธีการต่อไปนี้จะให้คำเตือนที่ฉันคาดไว้ var arg = args.Contains("abc") ? …

5
วิธีเพิ่มความเร็วคิวรีด้วยพาร์ติชันคีย์ในที่จัดเก็บตารางสีฟ้า
เราจะเพิ่มความเร็วของแบบสอบถามนี้ได้อย่างไร เรามีผู้บริโภคประมาณ100 คนภายในระยะเวลาของ1-2 minutesการดำเนินการค้นหาต่อไปนี้ หนึ่งในการดำเนินการเหล่านี้หมายถึงการเรียกใช้ 1 ฟังก์ชันการสิ้นเปลือง TableQuery<T> treanslationsQuery = new TableQuery<T>() .Where( TableQuery.CombineFilters( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, sourceDestinationPartitionKey) , TableOperators.Or, TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, anySourceDestinationPartitionKey) ) ); แบบสอบถามนี้จะให้ผลลัพธ์ประมาณ5,000 รายการ รหัสเต็ม: public static async Task<IEnumerable<T>> ExecuteQueryAsync<T>(this CloudTable table, TableQuery<T> query) where T : ITableEntity, new() { var items = new List<T>(); TableContinuationToken token = …

3
ระบุรุ่นเซิร์ฟเวอร์ Azure SQL ใน EF Core โดยไม่หยุดยั้งการพัฒนาในท้องถิ่น
Entity Framework Core แนะนำวิธีการHasServiceTierและHasPerformanceLevelเพื่อเปลี่ยนรุ่นของเซิร์ฟเวอร์ Azure SQL คุณสามารถใช้พวกเขาในOnModelCreatingเช่นนี้: protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.HasServiceTier("Basic"); modelBuilder.HasPerformanceLevel("Basic"); } หากคุณใช้ Add-Migration Add-Migrationคุณจะได้รับการย้ายข้อมูลดังนี้: public partial class ChangedDatabaseServiceTierToBasic : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.AlterDatabase() .Annotation("SqlServer:EditionOptions", "EDITION = 'Basic', SERVICE_OBJECTIVE = 'Basic'"); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.AlterDatabase() .OldAnnotation("SqlServer:EditionOptions", …

3
มีวิธีที่แข็งแกร่งในการลงทะเบียนการพึ่งพาใน ASP.NET Core 3.1 นอกเหนือจากการเพิ่มทุกอย่างในคลาสเริ่มต้นหรือไม่
ฉันมีโครงการ ASP.NET Core 3.1 โดยทั่วไปฉันลงทะเบียนการพึ่งพาใด ๆ โดยใช้ConfigureServices()วิธีการในStartup.csชั้นเรียน แต่ฉันพบว่าตัวเองต้องลงทะเบียนจำนวนมากและConfigureServices()ดูใหญ่! ฉันรู้ว่าฉันอาจจะสร้างวิธีการขยายของวิธีการคงที่และเรียกมันจาก ConfigureService () `คลาส แต่สงสัยว่ามีวิธีที่ดีกว่า หากมีวิธีการลงทะเบียนการขึ้นต่อกันในคอนเทนเนอร์ IoC โดยไม่ต้องกำหนดทีละรายการเช่นนี้ services.AddScoped<Interface, Class>(); .... 200 lines later services.AddScoped<ISettings, Settings>()

4
ประเภทผลตอบแทนของ“ ผลตอบแทน” คือ C # [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 เดือนที่ผ่านมา ฉันกำลังสร้างแอปพลิเคชันคอนโซลและฉันมี "เมนู" ซึ่งผู้ใช้สามารถป้อนข้อมูลเพื่อสร้างวัตถุบุคคลใหม่ ต่อไปนี้เป็นวิธีการภายใน Write("Please enter the first name: ", false); string fName = Console.ReadLine().ToUpper(); Write("Please enter the middle initial: ", false); string mInitial = Console.ReadLine().ToUpper(); Write("Please enter the last name: ", false); string lName = Console.ReadLine().ToUpper(); ชอบมาก ฉันต้องการให้ผู้ใช้สามารถออกจากวิธีการได้ตลอดเวลาหากพวกเขาตัดสินใจว่าพวกเขาไม่ต้องการสร้างคนใหม่ ดังนั้นฉันต้องการสร้างวิธีการใหม่ที่เรียกว่า "CheckExit" และหากพวกเขาพิมพ์ "EXIT" …

8
แบบสอบถามกำลังดำเนินการช้ามากมีวิธีใดปรับปรุงเพิ่มเติมหรือไม่
ฉันมีคิวรีต่อไปนี้และเนื่องจากมีSUMการเรียกใช้ฟังก์ชันจำนวนมากเคียวรีของฉันจึงทำงานช้าเกินไป ฉันมีบันทึกจำนวนมากในฐานข้อมูลของฉันและฉันต้องการรับรายงานจากปีปัจจุบันและปีที่แล้ว (30 วันล่าสุด 90 วันล่าสุดและ 365 วันสุดท้าย) สำหรับแต่ละคน: SELECT b.id as [ID] ,d.[Title] as [Title] ,e.Class as [Class] ,Sum(CASE WHEN a.DateCol >= DATEADD(MONTH,-1,GETDATE()) THEN a.col1 ELSE 0 END) as [Current - Last 30 Days Col1] ,Sum(CASE WHEN a.DateCol >= DATEADD(MONTH,-1,GETDATE()) THEN a.col2 ELSE 0 END) as [Current - Last …

4
การแปลงสตริงเป็นจำนวนเต็มโดยไม่ต้องใช้การคูณ C #
มีวิธีการแปลงสตริงเป็นจำนวนเต็มโดยไม่ต้องใช้การคูณ การใช้งาน int.Parse () ยังใช้การคูณ ฉันมีคำถามที่คล้ายกันอื่น ๆ ที่คุณสามารถแปลงสตริงเป็น int ได้ด้วยตนเอง แต่นั่นก็ต้องใช้จำนวนที่ผิดโดยฐานที่ 10 นี่เป็นคำถามสัมภาษณ์ที่ฉันมีในการสัมภาษณ์ครั้งหนึ่งและฉันไม่สามารถหาคำตอบเกี่ยวกับเรื่องนี้
9 c#  string  int 

1
ทำไมฉันไม่สามารถแปลงจาก 'System.IO.StreamWriter' เป็น 'CsvHelper.ISerializer'
พยายามเขียนเนื้อหาของผู้คนไปยังไฟล์ CSV แล้วส่งออกมันอย่างไรก็ตามฉันได้รับข้อผิดพลาดของบิลด์และความล้มเหลว ข้อผิดพลาดคือ: cannot convert from 'System.IO.StreamWriter' to 'CsvHelper.ISerializer' ไม่แน่ใจว่าทำไมสิ่งนี้ถึงเกิดขึ้นนอกเสียจากว่าฉันแน่ใจว่าฉันทำแบบนี้มาหลายครั้ง private void ExportAsCSV() { using (var memoryStream = new MemoryStream()) { using (var writer = new StreamWriter(memoryStream)) { using (var csv = new CsvHelper.CsvWriter(writer)) { csv.WriteRecords(people); } var arr = memoryStream.ToArray(); js.SaveAs("people.csv",arr); } } }

1
ฉันจะเรียกวิธีการเริ่มต้นแทนการใช้งานที่เป็นรูปธรรมได้อย่างไร
ทำไมพฤติกรรมของวิธีการเชื่อมต่อเริ่มต้นเปลี่ยนไปใน C # 8 ในอดีตรหัสต่อไปนี้ (เมื่อวิธีการอินเทอร์เฟซเริ่มต้นถูกสาธิตไม่ออก): interface IDefaultInterfaceMethod { // By default, this method will be virtual, and the virtual keyword can be here used! virtual void DefaultMethod() { Console.WriteLine("I am a default method in the interface!"); } } interface IOverrideDefaultInterfaceMethod : IDefaultInterfaceMethod { void IDefaultInterfaceMethod.DefaultMethod() { Console.WriteLine("I am an …

2
รูปแบบสำหรับการมอบหมายพฤติกรรมการซิงค์ใน C #
ฉันพยายามออกแบบคลาสที่เปิดเผยความสามารถในการเพิ่มความกังวลในการประมวลผลแบบอะซิงโครนัส ในการเขียนโปรแกรมแบบซิงโครนัสอาจมีลักษณะเช่นนี้ public class ProcessingArgs : EventArgs { public int Result { get; set; } } public class Processor { public event EventHandler<ProcessingArgs> Processing { get; } public int Process() { var args = new ProcessingArgs(); Processing?.Invoke(args); return args.Result; } } var processor = new Processor(); processor.Processing += args => …

2
ทำไมเราถึงได้เป็นไปได้ dereference คำเตือนอ้างอิงโมฆะเมื่อการอ้างอิงโมฆะดูเหมือนจะเป็นไปไม่ได้?
เมื่ออ่านคำถามนี้ทาง HNQ ฉันได้อ่านเกี่ยวกับประเภทข้อมูลอ้างอิงที่น่าเบื่อใน C # 8และทำการทดลองบางอย่าง ฉันรู้ว่า 9 ครั้งใน 10 ครั้งหรือบ่อยกว่านั้นเมื่อมีคนพูดว่า "ฉันพบข้อผิดพลาดในการคอมไพเลอร์!" นี่คือการออกแบบและความเข้าใจผิดของพวกเขาเอง และตั้งแต่ฉันเริ่มมองหาคุณลักษณะนี้เฉพาะในวันนี้อย่างชัดเจนฉันไม่เข้าใจมันมากนัก ด้วยวิธีนี้ให้ดูที่รหัสนี้: #nullable enable class Program { static void Main() { var s = ""; var b = s == null; // If you comment this line out, the warning on the line below disappears var i …

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