💾 База
Значимые типы (типы значения) хранятся в стеке. К ним относятся:
🔘 типы чисел
🔘 char, DateTime, bool
🔘 Color, Point, Rectangle
Ссылочные типы хранятся в куче. В стеке хранится лишь адрес объекта ссылочного типа.
❗️ Если объект ссылочного типа (хранящийся в куче, мы помним) имеет поле значимого типа (DateTime, например), то значение DateTime будет хранится тоже в куче (!)
‼️ Если объект значимого типа (хранящийся в стеке), имеет поле ссылочного типа (например, string), то значение string будет храниться где? Правильно, в куче!
#stack, #heap
👍 Если и так всё знал,
🔥 Если ты Вий, и тебе подняли веки,
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2👀1
Квиз тайм!
Чем отличется string и String?
Чем отличется string и String?
Anonymous Quiz
27%
Размером хранимой строки🤔
9%
string — потомок String🤔
55%
string — псевдоним типа String🤔
9%
Просто дай знать ответ 🤨
👍2🤡2🤯1
ulong?Формально, самое большое целое число, которое может храниться в типе .NET и у которого в C# есть свой псевдоним
ulong, составляет порядка 18.5 квинтиллионов (да, это дофига).👀 Но 7-классникам-криптоинвесторам каких-то жалких 20 разрядов в числе недостаточно, чтобы хранить заработанные денюжки, поэтому пацанам из микрософта пришлось придумать тип
BigInteger, что в пространстве имён System.Numerics.💪 Этот бро вообще не видит краёв, в прямом смысле слова — у
BigInteger формально нет минимального и максимального значения. Он парсится из строки и может быть абсолютно любым целочисленным значением.Создать и инициализировать переменную типа
BigInteger можно с помощью следующего фрагмента кода:using System.Numerics;
BigInteger bigBro = BigInteger.Parse("5034750347508734805738945789346597346");
#bignumbers
👍 Если и так всё знал,
🔥 Если ты Вий, и тебе подняли веки,
Please open Telegram to view this post
VIEW IN TELEGRAM
👀3👍2🔥2
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