32 подписчика
Улучшение литералов
У нас скоро выйдет курс по нововведениям языка 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 версиями языка. А после будем выпускать остальные версии☺️️
#полезные_материалы #эволюция_языка
1 минута
16 мая 2024