Anonymous Quiz
0%
Separate(...) 😿
75%
Split(...) 😿
8%
Segregate(...) 🤨
17%
Unmerge(...) 🤣
👍3
Anonymous Quiz
33%
false
11%
true
11%
null
44%
-1
👍1
out).📖 Кортежи изначально появились в C# 4.0 и были представлены типом
System.Tuple.Позднее, в версии C# 7.0 был добавлен новый тип
System.ValueTuple. На данный момент рекомендуется использовать именно его ввиду повышенной производительности. public (string, int) GetFruit()
{
return ("Apple", 5);
}
По умолчанию имена полей кортежа имеют следующий вид:
(string, int) fruit = GetFruit();
//fruit.Item1, fruit.Item2
public (string Name, int Count) GetFruit()
{
return ("Apple", 5);
}
var cort = (bob.Name, bob.Age);
Console.WriteLine(cort.Name);
Метод позволяет получить свойства объекта по-отдельности:
(string name, int number) = GetFruit();
// в результате - 2 отдельные переменные name и number
#tuple
👍 Если и так всё знал,
🔥 Если ты Вий, и тебе подняли веки,
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2🤔1🤯1
main() | c#, patterns & stuff pinned «Hello, world! Привет! На этом канале я буду выкладывать посты об особенностях платформы .NET через призму языка C# — синтаксис, конструкции, концепции и прочее. Разложим по полочкам паттерны проектирования (design patterns). Изучим базу и полезные фишки распределённой…»
Все ключевые слова C#, представляющие названия типов, — это псевдонимы для определённого типа .NET из библиотеки базовых классов BCL.
string — псевдоним типа System.String,
int — псевдоним типа System.Int32.
👍 Если и так всё знал,
🔥 Если ты Вий, и тебе подняли веки,
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁3🦄3🤡1
☝️ Такая архитектура позволяет создавать исполняющие среды (CLR) не только для Windows, но и для Linux и macOS — собственно, чего ради всё и затевалось изначально.
#jit, #compile
👍 Если и так всё знал,
🔥 Если ты Вий, и тебе подняли веки,
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
💣 Development vs. Production
Как система ведёт себя при тестировании vs как она ведёт себя у заказчика🤣
#humor
Как система ведёт себя при тестировании vs как она ведёт себя у заказчика
#humor
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👏1
Какого модификатора доступа не существует в C#?
Anonymous Quiz
33%
private protected
13%
internal protected
53%
private internal
🤷♂2👍1😱1💊1
CTS (Common Type System) расшифровывается как общая система типов — это полное описание всех типов данных и всех программных конструкций, поддерживаемых CLR.
Все фундаментальные типы данных .NET определены в сборке
mscorlib.dllПри этом под типом данных обычно понимается что либо из следующего набора:
⚪️ класс
⚪️ интерфейс
⚪️ структура
⚪️ перечисление
⚪️ делегат
#net_basics
👍 Если и так всё знал,
🔥 Если ты Вий, и тебе подняли веки,
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👀1
Anonymous Quiz
18%
Proper Twelve
73%
prop
9%
property
0%
Mr. Proper
👍2🔥2
Фиксация зависимостей — указание конкретного семейства пакетов для одной версии .NET без дополнительных спецификаторов, таких как
🔘 бета-версии (beta1)
🔘 релиз-кандидаты (rc4)
🔘 подстановочные символы ( * )
Пример фиксированной зависимости:
<ItemGroup>
<PackageReference
Include="Microsoft.EntityFrameworkCore.Sqlite"
Version="6.0.0" />
</ItemGroup>
Пример нефиксированных зависимостей, которых лучше избегать:
<PackageReference Include="System.NET.Http" Version="4.1.0-*" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3-beta1" />
#net_basics
👍 Если и так всё знал,
🔥 Если ты Вий, и тебе подняли веки,
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2🥰1
Anonymous Quiz
29%
readonly
43%
required
14%
retired
14%
что за дичь
🔥1🥰1🤬1
Такое случается с лучшими из нас
👉 Как известно, в .NET есть три наиболее распространённых типа данных для хранения вещественных чисел —
float, double и decimal.Как-то так повелось, что чаще всего в приложениях используется тип
double. Особенно если вы не задумываетесь о количестве оперативной памяти на стороне клиента. ❗️Диапазон типа double просто лютый — от ±5.0 × 10^(−324) до ±1.7 × 10^308. Количество разрядов после десятичного разделителя — не сосчитать.
Но если вы напишете следующий код:
double a = 0.1;
double b = 0.2;
if (a + b == 0.3)
Console.WriteLine("true");
else
Console.WriteLine("false");
то к своему удивлению можете обнаружить, что результат будет
false. ❓ Почему же?
Всё дело в том, как компьютер хранит в памяти числа с плавающей запятой.
Если десятичное число можно однозначно представить в виде двоичного числа (перевести в двоичную систему счисления без потери точности), то проблем со сравнением чисел не будет.
❗️ Но если десятичное число не может быть однозначно представлено в двоичной системе, то и оператор сравнения выдаст некорректный результат.
‼️ Например, число 12.75 будет представлено в двоичной системе как 1100.1100.
А вот число 0.1 должно быть представлено как 0.000(1100), где скобки означают бесконечное повторение этих четырёх чисел. Но поскольку невозможно хранить бесконечное число, оно в какой-то момент обрезается, что и приводит к потере точности.
А потому 0.1 + 0.2 уже не будет в точности равно 0.3.
decimal — ваш бро.Кстати, с использованием оператора равенства при сравнении чисел двойной точности случился очень неприятный казус. Во время войны в Персидском заливе американский противоракетный комплекс Patriot был запрограммирован с использованием чисел двойной точности с плавающей запятой (тех самых
double). Неточность в расчётах привела к тому, что комплекс не смог перехватить иракскую ракету Р-17, и та попала в американские казармы в городе Дхарам.Так что погроммирование — это то ещё искусство.
👍 Если и так всё знал (да ладно, не заливайте, я вот не знал),
🔥 Если ты Вий, и тебе подняли веки,
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2🥰1🦄1
Anonymous Quiz
14%
пересчитывать свойства объекта 🤔
43%
применять синтаксис массива для обращения к свойству объекта 🤔
21%
применять массив синтаксисов для обращения к объекту свойств 😿
21%
да что они себе позволяют! 🤨
👍1🥰1