📖 Программируем на C# 8.0
⬇️ Скачать книгу
➡️ C# Ready | #книга
Книга предназначена как для начинающих, так и для опытных разработчиков, желающих углубить свои знания о C# и его новых возможностях
Автор: Иэн Гриффитс
Год: 2021
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2❤1
Пришло время рассмотреть C# делегаты, они позволяют обрабатывать события и вызывать методы динамически.
В этом посте мы изучим работу с ними и различные вариации их использования:
- Использование
- Анонимные методы
- События и делегаты
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18🤝12👍3
Сегодня разберем мощную, но часто недооцененную особенность C# — использование yield для создания ленивых последовательностей. Эта техника позволяет экономить память и избегать излишних вычислений
Ключевое слово
yield
позволяет вернуть значение из метода-итератора без завершения его работы. Оно сохраняет состояние метода, чтобы продолжить выполнение при следующем вызове. Для примера сделаем простую генерацию чисел:
IEnumerable<int> GetNumbers() {
for (int i = 1; i <= 5; i++) {
yield return i;
// Возвращает текущее значение и приостанавливает выполнение
}
}
foreach (var num in GetNumbers()) {
Console.WriteLine(num);
}
Вывод:
1
2
3
4
5
Здесь метод
GetNumbers
не создает полный список в памяти. Значения генерируются только тогда, когда итератор запрашивает следующий элемент.Практическое применение —
yield
особенно полезен при работе с большими данными. Например, для фильтрации логов: IEnumerable<string> FilterLogs(IEnumerable<string> logs) {
foreach (var log in logs) {
if (log.Contains("ERROR")) {
yield return log;
// Возвращает только нужные строки
}
}
}
var logs = new List<string> { "INFO: Start", "ERROR: Crash", "INFO: End" };
foreach (var log in FilterLogs(logs)) {
Console.WriteLine(log);
}
Вывод:
ERROR: Crash
🔥 Используйте yield, чтобы делать код компактнее, эффективнее и читаемее!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥8🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Metanit — Платформа, на которой доступно множество полезных материалов для обучения программированию. Здесь можно найти ресурсы по и разным языкам, а каждое пособие содержит примеры кода
⛓ Ссылочка: metanit.com
➡️ C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥8🤝2
В этом посте рассмотрим два примера расширяющих методов в C#, которые позволяют улучшать типы и создавать более читаемый код. Вы узнаете про:
- Создание простого расширяющего метода
- Использование расширяющего метода
- Расширение встроенного типа с параметром
- Использование встроенного типа с параметром
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18🤝8👍4
📖 CLR через C#
⬇️ Скачать книгу
➡️ C# Ready | #книга
В этом произведении автор подробно объясняет, как работает CLR, и как разработчики могут использовать его возможности для создания эффективных и производительных приложений
Автор: Джеффри Рихтер
Год: 2012
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥5🤝3
👍9