Обложка канала

.NET Разработчик

Опытный разработчик не так давно зашёл в .Net и поставил цель получить сертификат Microsoft. Свой ежедневный прогресс он описывает на канале .Net Разработчик. Заметки об изученном материале, советы по повышению производительности и поддержке мотивации, ин

.NET Разработчик

4 года назад
Открыть в
День 1454. #TipsAndTricks Короткие Советы и Трюки в C# 1. Регистронезависимый Словарь Указав StringComparer в конструкторе словаря, вы можете использовать регистронезависимые ключи для доступа к значениям:
var dict = new Dictionary<string, object>
 (StringComparer.CurrentCultureIgnoreCase)
{
  ["home"] = "casa",
  ["BRIDGE"] = "ponte"
};

Console.WriteLine(dict["Home"]);
Console.WriteLine(dict["bridge"]);

2. Sort() или OrderBy() Оба метода сортируют элементы списка. Но есть различия. Sort() - сортировка «на месте» (пока, иммутабельность); - сортировка по умолчанию. OrderBy() - создаёт новый список; - можно использовать правило сортировки.
List<int> list = new() { 3, 1, 6, 2, 8};
list.Sort();
var sortedList = 
 list.OrderByDescending(_ => _);

3. String.IsNullOrEmpty или String.IsNullOrWhiteSpace Если вам нужно проверить строку, введённую пользователем, имейте в виду, что пользователь может ввести символы, которые не будут «пойманы» методом String.IsNullOrEmpty():
        NOE NOWS
"hi"    ❌  ❌
null    ✅  ✅
""      ✅  ✅
"    "  ❌  ✅
"\n"    ❌  ✅
"\t"    ❌  ✅
"\t \n" ❌  ✅

4. Интерполяция строк с помощью FormattableString Если вы используете интерполяцию для обработки случаев, когда значение изменяется в зависимости от культуры: - храните строку как FormattableString; - форматируйте её, используя IFormatterProvider (или CultureInfo).
var dt = DateTime.Now;
FormattableString fs = $"{dt:dddd}";
fs.ToString();
//Monday
fs.ToString(new CultureInfo("es-ES");
// lunes
fs.ToString(new CultureInfo("ru-RU");
// понедельник

Источник: https://twitter.com/BelloneDavide/