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

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

2
วิธีการเข้าร่วมกลุ่มใน. NET Core 3.0 Entity Framework
ด้วยการเปลี่ยนแปลงใน. NET Core 3.0 ฉันได้รับ ... NavigationExpanding ExpressionVisitor 'ล้มเหลว สิ่งนี้อาจบ่งบอกถึงข้อบกพร่องหรือข้อ จำกัด ใน EF Core ดู https://go.microsoft.com/fwlink/?linkid=2101433สำหรับข้อมูลรายละเอียดเพิ่มเติม) ---> System.InvalidOperationException: การประมวลผลนิพจน์ LINQ 'GroupJoin, ... นี่เป็นแบบสอบถามที่ง่ายมากดังนั้นจึงต้องมีวิธีดำเนินการใน. NET CORE 3.0: var queryResults1 = await patients .GroupJoin( _context.Studies, p => p.Id, s => s.Patient.Id, (p, studies) => new { p.DateOfBirth, p.Id, p.Name, p.Sex, Studies =studies.Select(s1=>s1) …

3
รหัสที่พิมพ์อย่างมากใน Core Framework เอนทิตี
ฉันพยายามที่จะมีIdคลาสที่พิมพ์ออกมาอย่างรุนแรงซึ่งตอนนี้ถือภายใน 'ยาว' ภายใน การใช้งานด้านล่าง ปัญหาที่ฉันมีการใช้สิ่งนี้ในเอนทิตีของฉันคือEntity Frameworkให้ฉันข้อความว่ารหัสทรัพย์สินถูกแมปไปแล้ว ดูIEntityTypeConfigurationด้านล่างของฉัน หมายเหตุ:ฉันไม่ได้มีจุดประสงค์ที่จะใช้งาน DDD อย่างเข้มงวด ดังนั้นโปรดเก็บไว้ในใจเมื่อแสดงความคิดเห็นหรือตอบ รหัสทั้งหมดที่อยู่ด้านหลังพิมพ์Idสำหรับนักพัฒนาที่มาถึงโครงการที่พวกเขาพิมพ์อย่างยิ่งที่จะใช้รหัสในเอนทิตีทั้งหมดของพวกเขาแน่นอนแปลเป็นlong(หรือBIGINT) - แต่มันชัดเจนสำหรับคนอื่น ๆ ใต้คลาสและการกำหนดค่าซึ่งไม่ทำงาน ซื้อคืนภาคสามารถพบได้ที่https://github.com/KodeFoxx/Kf.CleanArchitectureTemplate.NetCore31 , Idระดับที่ (แสดงความคิดเห็นตอนนี้): https://github.com/KodeFoxx/Kf.CleanArchitectureTemplate.NetCore31/blob/master/Source/Common/Kf.CANetCore31/DomainDrivenDesign/Id.cs EntityและValueObjectคลาส (โดยที่EntityคุณสมบัติIdเป็นประเภทId. cs (ด้านบน): https://github.com/KodeFoxx/Kf.CleanArchitectureTemplate.NetCore31/tree/master/Source/Common/Kf.CANetCore31/DomainDrivenDesign การกำหนดค่าที่: https://github.com/KodeFoxx/Kf.CleanArchitectureTemplate.NetCore31/tree/master/Source/Infrastructure/Persistence/Kf.CANetCore31.Infrastructure.Persistence.Ef/EntityTypeConfigurations Idการใช้งานในชั้นเรียน (ทำเครื่องหมายล้าสมัยในขณะนี้เพราะฉันละทิ้งความคิดจนกว่าฉันจะพบทางออกสำหรับเรื่องนี้ namespace Kf.CANetCore31.DomainDrivenDesign { [DebuggerDisplay("{DebuggerDisplayString,nq}")] [Obsolete] public sealed class Id : ValueObject { public static implicit operator Id(long value) => new …

2
วิธีการเปลี่ยนชื่อไฟล์และโฟลเดอร์ใน. rar. 7z, .tar, .zip โดยใช้ C #
ฉันมีไฟล์บีบอัด. rar. 7z,. tar และ. zip และฉันต้องการเปลี่ยนชื่อไฟล์ทางกายภาพที่มีอยู่ในไฟล์บีบอัดที่เก็บถาวรข้างต้นโดยใช้ C # ฉันลองสิ่งนี้โดยใช้ห้องสมุด sharpcompress แต่ฉันไม่พบคุณสมบัติดังกล่าวสำหรับเปลี่ยนชื่อไฟล์หรือชื่อโฟลเดอร์ภายในไฟล์. rar. 7z, .tar และ. zip ฉันได้ลองใช้ห้องสมุด DotNetZip แล้ว แต่เป็นเพียงการสนับสนุนเท่านั้น ZIP ดูว่าฉันได้ลองใช้ห้องสมุด DotNetZip แล้ว private static void RenameZipEntries(string file) { try { int renameCount = 0; using (ZipFile zip2 = ZipFile.Read(file)) { foreach (ZipEntry e in zip2.ToList()) { if …
12 c#  zip  tar  7zip  rar 

1
Nullability ที่ไม่รู้จักใน C # 8 คืออะไร
ใน C # 8.0 เราสามารถมีประเภทอ้างอิงที่เป็นโมฆะ เอกสารระบุว่ามีความผิดประเภท 4 ประเภท 3 รายการแรกค่อนข้างชัดเจน แต่ฉันไม่เข้าใจจุดที่ "ไม่ทราบ" เอกสารบอกว่ามันใช้กับยาชื่อสามัญ แต่เมื่อฉันพยายามเรียกวิธีการเกี่ยวกับตัวแปรที่ไม่มีข้อ จำกัด ของประเภท T ในข้อมูลทั่วไปมันแค่เตือนราวกับว่าประเภทนั้นเป็นโมฆะ ฉันไม่เห็นความแตกต่างระหว่างที่ไม่รู้จักและไม่สามารถใช้ได้ ทำไมไม่รู้จักอยู่? มันแสดงให้เห็นตัวเองได้อย่างไร

4
ข้อ จำกัด เกี่ยวกับการขัดแย้งกับ PathRelativePathTo ในสภาพแวดล้อม“ รู้เส้นทางที่ยาวนาน”
สำหรับเส้นทางการตระหนักถึงกระบวนการใน Windows 10, ฉันพยายามที่จะเข้าใจในสิ่งที่ข้อ จำกัด ข้อโต้แย้งที่มีเมื่อใช้หน้าต่างเปลือกวิธีPathRelativePathTo ในตัวอย่างด้านล่างฉันใช้ C # ผ่าน pinvoke เพื่อโทรหาวิธี ฉันได้รับหลายตัวอย่างด้านล่างและผลลัพธ์ของพวกเขา บันทึก: ตัวอย่างทั้งหมดให้เส้นทางไดเรกทอรีสำหรับ "จาก" และเส้นทางไฟล์สำหรับ "ถึง" (ไม่มีเส้นทางเหล่านี้จริง ๆ บนดิสก์) ข้อสังเกตของฉันคือ เส้นทางภายใต้ความยาว MAX_PATH "สั้น" (260) กลับมาประสบความสำเร็จพร้อมผลลัพธ์ที่คาดหวัง บางเส้นทางเหนือ MAX_PATH แบบ "สั้น" จะกลับมาประสบความสำเร็จพร้อมกับผลลัพธ์ที่ถูกต้อง บางเส้นทางเหนือ MAX_PATH แบบ "สั้น" กลับมาประสบความสำเร็จพร้อมคำตอบที่ผิด (yikes!) เส้นทางที่ยาวกว่าบางอันส่งคืนข้อผิดพลาด อย่างไรก็ตามมันไม่ได้อยู่ที่ความยาวสูงสุดคงที่ ที่มา: class Program { static class Native { // https://www.pinvoke.net/default.aspx/shlwapi.pathrelativepathto …
12 c#  .net  windows  c#-4.0  c#-3.0 

5
วิธีการตั้งค่าตัวเลือกเริ่มต้นทั่วโลกสำหรับ System.Text.Json.JsonSerializer?
อัปเดต [2019-12-23]: ครบกำหนดในส่วนของอินพุตชุมชนแกนนำปัญหานี้ได้ถูกเพิ่มไปยังแผนงานสำหรับ. NET 5.0 อัปเดต [2019-10-10]: หากสนใจที่จะเห็นพฤติกรรมนี้ถูกนำไปใช้System.Text.Json.JsonSerializerตรงไปที่ปัญหา GitHub แบบเปิดที่ชี้โดยChris Yungmannและชั่งน้ำหนัก แทนสิ่งนี้: JsonSerializerOptions options = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase // etc. }; JsonSerializer.Deserialize<SomeObject>(someJsonString, options); ฉันต้องการทำสิ่งนี้: // This property is a pleasant fiction JsonSerializer.DefaultSettings = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase // etc. }; // This uses my options …

3
การแปลงรหัส newtonsoft เป็น System.Text.Json ใน. net core 3 สิ่งที่เทียบเท่ากับ JObject.Parse และ JsonProperty
ฉันกำลังแปลงการใช้งาน newtonsoft เป็นไลบรารี JSON ใหม่ใน. net core 3.0 ฉันมีรหัสต่อไปนี้ public static bool IsValidJson(string json) { try { JObject.Parse(json); return true; } catch (Exception ex) { Logger.ErrorFormat("Invalid Json Received {0}", json); Logger.Fatal(ex.Message); return false; } } ฉันไม่สามารถหาสิ่งที่เทียบเท่าได้ JObject.Parse(json); นอกจากนี้สิ่งที่จะJsonPropertyเทียบเท่าคุณลักษณะ public class ResponseJson { [JsonProperty(PropertyName = "status")] public bool Status { get; …

2
GetPathsOfAllDirectoriesAbove () ไม่สามารถประเมินได้หลังการอัพเดต. Net Framework เวอร์ชั่น (4.6.2 ถึง 4.7.2)
โครงการที่ฉันทำงานอยู่ได้รับการอัปเกรดจาก. NET Framework 4.6.2 เป็น 4.7.2 ในการสร้างในไฟล์ที่ไม่ใช่รหัสของฉันฉันได้รับข้อผิดพลาดต่อไปนี้: ฉันเห็นข้อผิดพลาดเดียวกันในแท็บบิลด์ของคุณสมบัติโครงการของฉัน ฉันเป็นคนสูญเสียฉันได้ค้นหาข้อผิดพลาดและกำลังจะว่างเปล่า มีใครพบและ / หรือแก้ไขปัญหานี้มาก่อนหรือไม่

2
วิธีการอ้างอิง System.Windows.Forms ใน. NET Core 3.0 สำหรับแอพ WPF
ฉันกำลังโยกย้ายแอพเดสก์ท็อป WPF จาก. NET Framwork ไปยัง Core 3.0 ฉันใช้ System.Windows.Forms.FolderBrowserDialog () และตอนนี้ฉันติดอยู่กับวิธีการเพิ่มการอ้างอิงนี้ไปยังโครงการหลัก ไม่มี "System.Windows.Forms" แพ็คเกจ NuGet ที่มีอยู่ใช่ไหม มีวิธีอื่นในการแสดง FolderBrowserDialog ใน Core หรือไม่? ปรับปรุง ฉันสร้างโครงการหลักโดยใช้เทมเพลตเริ่มต้นแล้วคัดลอกไฟล์. cs และ. xaml ที่วางไว้ ไฟล์. csproj มีลักษณะดังนี้: <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>netcoreapp3.0</TargetFramework> <UseWPF>true</UseWPF> </PropertyGroup>

2
แปลง DateTime หรือไม่ เพื่อสตริง
ฉันต้องการแปลง a เป็นDateTime?สตริง ถ้าวันที่เป็นโมฆะแล้วกลับอื่นกลับรูปแบบสตริงเช่นนี้:"" "2020-03-05T07:52:59.665Z"รหัสคืออะไรแบบนี้ แต่มันจะไม่ทำงาน มันบอกว่า"DateTime?"ไม่มีคำนิยามสำหรับ "ToUniversalTime" มีคนรู้วิธีแก้ไขปัญหานี้หรือไม่ DateTime? date = DateTime.UtcNow; var dateInUTCString = date == null ? "" : date.ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'");
11 c# 

1
ImmutableSortedDictionary ช่วงแจงนับโดยคีย์
ผมอ่านเกี่ยวกับ C # 's ImmutableSortedDictionaryในSystem.Collections.Immutableและความคิดเกี่ยวกับวิธีการที่จะใช้มันในโปรแกรมของฉัน ฉันค่อนข้างชอบ C ++ lower_boundและupper_bound(ดูที่นี่ ) และฉันค่อนข้างคาดหวังที่จะเห็นบางสิ่งบางอย่างสำหรับการค้นหาช่วง อย่างไรก็ตามวิธีการที่คล้ายกันดูเหมือนจะแปลกขาดจากเอกสาร ฉันพลาดอะไรไปรึเปล่า? หรือว่า MS จัดเตรียมพจนานุกรมเรียงอย่างแท้จริงโดยไม่ต้องเข้าถึงช่วงเรียงอย่างมีประสิทธิภาพ? ดูเหมือนจะไม่เหมือนสิ่งที่คน ๆ หนึ่งทำได้บนIEnumerableปุ่มเหมือนกับวิธีการขยายดังนั้นฉันค่อนข้างงุนงงฉันไม่เห็นบางสิ่งที่ได้รับจากคอลเลกชันโดยตรง

4
ลบ deserializing รายการโดยใช้ Asynchonously System.Text.Json
ให้บอกว่าฉันขอไฟล์ json ขนาดใหญ่ที่มีรายการวัตถุมากมาย ฉันไม่ต้องการให้พวกเขาอยู่ในความทรงจำทั้งหมดในครั้งเดียว แต่ฉันอยากอ่านและดำเนินการทีละคน ดังนั้นผมจึงจำเป็นต้องเปิด async กระแสเป็นSystem.IO.Stream IAsyncEnumerable<T>ฉันจะใช้System.Text.JsonAPI ใหม่เพื่อทำสิ่งนี้ได้อย่างไร private async IAsyncEnumerable<T> GetList<T>(Uri url, CancellationToken cancellationToken = default) { using (var httpResponse = await httpClient.GetAsync(url, cancellationToken)) { using (var stream = await httpResponse.Content.ReadAsStreamAsync()) { // Probably do something with JsonSerializer.DeserializeAsync here without serializing the entire thing in one go …

3
ฉันจะรับแอพไฟล์เดี่ยว. NET Core 3 ของฉันเพื่อค้นหาไฟล์ appsettings.json ได้อย่างไร
ควรกำหนดค่าแอปพลิเคชันไฟล์. Net Core 3.0 Web API แบบเดี่ยวให้ค้นหาappsettings.jsonไฟล์ที่อยู่ในไดเรกทอรีเดียวกันกับที่มีไฟล์แอปพลิเคชันเดี่ยวสร้างอยู่หรือไม่ หลังจากวิ่ง dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true ไดเรกทอรีมีลักษณะดังนี้: XX/XX/XXXX XX:XX PM <DIR> . XX/XX/XXXX XX:XX PM <DIR> .. XX/XX/XXXX XX:XX PM 134 appsettings.json XX/XX/XXXX XX:XX PM 92,899,983 APPNAME.exe XX/XX/XXXX XX:XX PM 541 web.config 3 File(s) 92,900,658 bytes อย่างไรก็ตามการพยายามเรียกใช้APPNAME.exeผลลัพธ์ในข้อผิดพลาดต่อไปนี้ An exception occurred, System.IO.FileNotFoundException: …

1
ไคลเอ็นต์ SignalR .NET เชื่อมต่อกับบริการ Azure SignalR ในแอปพลิเคชัน Blazor .NET Core 3
ฉันกำลังพยายามเชื่อมต่อระหว่างแอปพลิเคชัน ASP.NET Core 3.0 Blazor (ฝั่งเซิร์ฟเวอร์) กับ Azure SignalR Service ฉันจะลงเอยด้วยการฉีดไคลเอนต์ SignalR (บริการ) ของฉันไปยังองค์ประกอบ Blazor บางอย่างเพื่อให้พวกเขาอัปเดต UI / DOM ของฉันแบบเรียลไทม์ ปัญหาของฉันคือฉันได้รับข้อความต่อไปนี้เมื่อฉันเรียก.StartAsync()วิธีของฉันในการเชื่อมต่อฮับ: รหัสสถานะการตอบสนองไม่ได้หมายถึงความสำเร็จ: 404 (ไม่พบ) BootstrapSignalRClient.cs ไฟล์นี้โหลดการกำหนดค่าของฉันสำหรับบริการ SignalR รวมถึง URL, สตริงการเชื่อมต่อ, คีย์, ชื่อเมธอด, และชื่อฮับ การตั้งค่าเหล่านี้จะถูกบันทึกไว้ในระดับคงที่SignalRServiceConfigurationและใช้ในภายหลัง public static class BootstrapSignalRClient { public static IServiceCollection AddSignalRServiceClient(this IServiceCollection services, IConfiguration configuration) { SignalRServiceConfiguration signalRServiceConfiguration …

7
วิธีการบล็อกการไหลของรหัสจนกว่าเหตุการณ์จะเริ่มทำงานใน C #
ที่นี่เรามีด้วยGrid Buttonเมื่อผู้ใช้คลิกปุ่มวิธีการในคลาสยูทิลิตี้จะถูกดำเนินการซึ่งบังคับให้แอปพลิเคชันได้รับการคลิกบนกริด Gridการไหลของรหัสต้องหยุดที่นี่และไม่ได้ดำเนินต่อไปจนกว่าผู้ใช้มีการคลิกที่ ฉันมีคำถามที่คล้ายกันมาก่อนที่นี่: รอจนกระทั่งผู้ใช้คลิก C # WPF ในคำถามนั้นฉันได้รับคำตอบโดยใช้ async / คอยซึ่งใช้งานได้ แต่เนื่องจากฉันจะใช้เป็นส่วนหนึ่งของ API ฉันไม่ต้องการใช้ async / waitit เนื่องจากผู้บริโภคจะต้องทำเครื่องหมายวิธีการด้วย async ซึ่งฉันไม่ต้องการ ฉันจะเขียนUtility.PickPoint(Grid grid)วิธีเพื่อให้บรรลุเป้าหมายนี้ได้อย่างไร ฉันเห็นสิ่งนี้ซึ่งอาจช่วยได้ แต่ไม่เข้าใจอย่างเต็มที่ที่จะสมัครที่นี่เพื่อความซื่อสัตย์: การบล็อกจนกว่าเหตุการณ์จะเสร็จสิ้น พิจารณาว่าเป็นสิ่งที่ต้องการวิธี Console.ReadKey () ในแอปพลิเคชันคอนโซล เมื่อเราเรียกใช้เมธอดนี้โฟลว์โค้ดจะหยุดจนกว่าเราจะป้อนค่าบางค่า โปรแกรมดีบั๊กไม่ทำงานต่อไปจนกว่าเราจะป้อนข้อมูล ฉันต้องการพฤติกรรมที่แน่นอนสำหรับวิธี PickPoint () การไหลของรหัสจะหยุดจนกว่าผู้ใช้คลิกบนกริด <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp1" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <Grid.RowDefinitions> <RowDefinition …

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