Запитання з тегом «c#»

C # (вимовляється як "дивись чітко") - це мова програмування із багатопарадигмою високого рівня, розроблена корпорацією Майкрософт. Код C # зазвичай орієнтований на сімейство інструментів та час виконання Microsoft .NET, які включають, серед іншого, .NET Framework, .NET Core та Xamarin. Використовуйте цей тег для питань щодо коду, написаного в офіційній специфікації C # або C #.

1
Чому я можу оголосити дочірню змінну з тим самим іменем, що і змінну в батьківській області?
Нещодавно я написав код, коли ненавмисно повторно використав ім'я змінної як параметр дії, оголошеної в межах функції, яка вже має однойменну змінну. Наприклад: var x = 1; Action<int> myAction = (x) => { Console.WriteLine(x); }; Коли я помітив дублювання, я був здивований, побачивши, що код складено та працює бездоганно, що …

1
Directory.GetFiles не збирає всі файли
У мене є якийсь код, який призначений для отримання файлів у каталозі, який досить простий foreach (var Totalfile in new DirectoryInfo(rootfolder).GetFiles("*Totals*.csv", SearchOption.TopDirectoryOnly)) Файли названі так: Totals.CSV142344 Totals.CSV142409 Totals.CSV142433 Totals.CSV142501 Totals.CSV142528 Моє питання полягає в тому, що він не збирає останній файл. Я виправив код, поставивши це замість: foreach (var Totalfile …
23 c#  filenames 

4
Виявлено можливий цикл об'єктів .Net Core 3.0, який не підтримується
У мене є 2 сутності, які пов’язані як один із багатьма public class Restaurant { public int RestaurantId {get;set;} public string Name {get;set;} public List<Reservation> Reservations {get;set;} ... } public class Reservation{ public int ReservationId {get;set;} public int RestaurantId {get;set;} public Restaurant Restaurant {get;set;} } Якщо я спробую придбати ресторани …

5
Як зловити всі варіанти загального винятку в C #
Мені хотілося б спіймати всі варіанти загального винятку класу винятків, і мені було цікаво, чи є спосіб зробити це без безлічі блоків вилову. Наприклад, скажіть, що у мене клас виключень: public class MyException<T> : Exception { public string MyProperty { get; } public MyException(T prop) : base(prop.ToString()) { MyProperty = …
22 c#  generics  exception 

1
Як налаштувати параметри додатків у службі .Net Core 3 Worker
Я переглянув декілька навчальних посібників та запитань щодо SO (наприклад, Налаштування додатків. Net Core ) щодо читання appsettings.json в .Net Core 3, і не можу знайти жодних вказівників щодо того, як користуватися службою Worker. Не існує методу запуску. Натомість у мене є Program.cs з основним методом: public class Program { …

5
c # метод з необмеженими параметрами або метод з масивом або списком?
Нещодавно я дізнався, що ви можете створити якийсь метод з необмеженими параметрами, наприклад: SomeMethod(params int[] numbers); але моє запитання полягає в тому, яка різниця між цим і просто створенням методу, який отримує список чи масив? SomeMethod(int[] numbers); SomeMethod(List<int> numbers); можливо, це має певний вплив на продуктивність? Я не повністю розумію …
21 c#  methods 

1
Яка різниця між використанням та очікуванням використання? І як я можу вирішити, який з них використовувати?
Я помітив, що в деяких випадках Visual Studio рекомендує це зробити await using var disposable = new Disposable(); // Do something замість цього using var disposable = new Disposable(); // Do something У чому різниця між usingі await using? Як я повинен вирішити, який саме використовувати?
21 c#  c#-8.0 

3
Найкраща практика використання Nullable Reference Types для DTO
У мене є DTO, який заповнюється читанням з таблиці DynamoDB. Скажіть, це виглядає приблизно так: public class Item { public string Id { get; set; } // PK so technically cannot be null public string Name { get; set; } // validation to prevent nulls but this doesn't stop database …

4
Правильний спосіб боротьби з винятками в AsyncDispose
Під час переходу на новий .NET Core 3 IAsynsDisposable, я натрапив на наступну проблему. Суть проблеми: якщо DisposeAsyncкидає виняток, цей виняток приховує будь-які винятки, кинуті всередину await using-блок. class Program { static async Task Main() { try { await using (var d = new D()) { throw new ArgumentException("I'm inside …

3
'ILoggerFactory' не містить визначення для 'AddConsole'
private ILoggerFactory ConfigureLogging(ILoggerFactory factory) { factory.AddConsole(); return factory; } Я знайшов фрагмент коду вище в Github . Це дає таку помилку: 'ILoggerFactory' does not contain a definition for 'AddConsole' and the best extension method overload 'ConsoleLoggerExtensions.AddConsole(ILoggingBuilder)' requires a receiver of type 'ILoggingBuilder' Я використовую NET Core 3.0 і в мене …
20 c#  nuget  core  discord.net 

2
Як замінити розширення AddJwtBearer у .NET Core 3.0
У мене є такий код, який збирається і працює в .NET Core 2.2: byte[] key = Encoding.ASCII.GetBytes(Constants.JWT_SECRET); services.AddAuthentication(x => { x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(x => { x.RequireHttpsMetadata = false; x.SaveToken = true; x.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(key), ValidateIssuer = …

5
ASP.NET Core 3.0 System.Text.Json Camel Case Serialization
У проекті API 3.0 Web ASP.NET ядра, як ви визначаєте System.Text.Json параметри сериализации для сериализации / десеріалізациі властивостей Паскаля випадку до ГорбатийРегістр і навпаки автоматично? Дано модель із властивостями корпусу Паскаля, такі як: public class Person { public string Firstname { get; set; } public string Lastname { get; set; …

2
Чому компілятор C # дозволяє дублювати змінну у вкладеній області?
Історично під час розвитку в .Net я не міг дублювати ім'я змінної в вкладеній області. Однак, нещодавно оновивши Visual Studio 2019 до версії 16.4.2, я помітив, що імена змінних можна дублювати у вкладеній області. Наприклад: var test = "hello"; Console.WriteLine(test); var things = new []{"one", "two", "three"}; things.Select(test => // …

1
Перетворити IAsyncEnumerable у список
Так у C # 8 ми отримали додавання IAsyncEnumerableінтерфейсу. Якщо у нас є звичайний, IEnumerableми можемо зробити з нього Listабо майже будь-яку іншу колекцію, яку ми хочемо з неї. Завдяки Linq там. var range = Enumerable.Range(0, 100); var list = range.ToList(); Ну а тепер я хочу перетворити своє IAsyncEnumerableна а, …


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.