TGViewer
IRON PROGRAMMER IRON PROGRAMMER @csharp_publics · 3.04K subscribers
Post #2118 968
Улучшение литералов

У нас скоро выйдет курс по нововведениям языка C# – PRO C#. Эволюция языка. Хочу вас ввести в курс дела. Я считаю каждый уважающий себя C# разработчик должен знать историю развития своего главного инструмента для написания программ - язык C#.

Расскажу об одной прикольной фиче из C# 7 версии - Улучшение литералов.

Начнем как всегда с проблемы😉
Давайте представим, что у нас в коде есть число, представленное большим количеством цифр. Например:
static void Main()
{
var i = 123456789;
Console.WriteLine(i); // 123456789
}

Подобная запись осложняет восприятие литерала и сходу сложно понять, что это за число.

Решение
В C# 7 появилась возможность использовать символ _(нижнее подчёркивание) в качестве разделителя цифр внутри числовых литералов:
static void Main()
{
var i = 123_456_789;
var x = 0xAB_CD_EF;
Console.WriteLine(i); // 123456789
Console.WriteLine(x); // 11259375
}

Можно помещать данный символ в любом месте между цифрами нужное количество раз, чтобы улучшить читаемость. Он не влияет на значение.

Разделитель разрядов можно использовать с типами byte, int, long, decimal, float, double:
long billionsAndBillions = 100_000_000_000;
double avogadroConstant = 6.022_140_857_747_474e23;
decimal goldenRatio = 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M;



⚠️Внимание!
Разделитель разряда не может стоять в конце или в начале литерала.

Например:
static void Main()
{
var i = _123_456_789;
Console.WriteLine(i); // Ошибка
i = 123_456_789_;
Console.WriteLine(i); // Ошибка
}


Вот такую приколюшку завезли в C#, чтобы нам с вами легче было писать читаемый и чистый код☺️

Как вам? Знали про такую фичу?

P/S. Планируем в начале июня опубликовать данный курс с 7 и 8 версиями языка. А после будем выпускать остальные версии☺️
️

#полезные_материалы #эволюция_языка
  • 👍 31
  • 🔥 6
  • 🤓 5
More from @csharp_publics
  1. Oct 17, 2026Post #3177
  2. Oct 16, 2026Не зря полтора дня угробил на это 🥹 Если не прочитали, очень советую. Я привел примеры из…
  3. Oct 15, 2026Как менялся pattern matching в C#. Пять версий на примерах Прошел все версии от C# 7 до C#…
  4. Oct 15, 2026Post #3174
  5. Oct 13, 2026Как восстановить доступ к курса пока Stepik недоступен🙏 Stepik сейчас недоступен, но твоё…
  6. Oct 13, 2026Stepik недоступен уже 4 дня Причина: многие сервисы, включая наши, хостятся на серверах Ян…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →