C# Ready | Unity
7.65K subscribers
664 photos
38 videos
325 links
Авторский канал по разработке на C# и Unity.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/csharp_ready
加入频道
👩‍💻 Шпаргалка по методам строк в C#

Шпаргалка по методам строк в C# охватывает ключевые функции работы с текстом, такие как изменение регистра, извлечение подстрок, замена и разделение строк с наглядными примерами для быстрого применения.

➡️ C# Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29🤝22👍7
🖥 Ускорение LINQ-запросов

LINQ-запросы позволяют элегантно обрабатывать данные, но иногда не лучшим способом это сказывается на производительности.

Рассмотрим, как оптимизировать LINQ, чтобы код оставался быстрым и эффективным.

1. Избегайте многократного вызова .Where

В LINQ каждый вызов .Where создаёт дополнительную операцию фильтрации, что может замедлить выполнение:
var result = data
.Where(x => x.IsActive)
.Where(x => x.Age > 18);


Лучше объединить условия в одном вызове, чтобы избежать лишней итерации:
var result = data.Where(x => x.IsActive && x.Age > 18);


2. Используйте ToList() и ToArray() с умом

ToList() или ToArray() создают коллекцию сразу, но применять их нужно осторожно, чтобы не перегружать программу ненужными данными в памяти:
var activeUsers = data.Where(x => x.IsActive).ToList(); // может перегрузить память

Если коллекция понадобится позже, сохраняйте запрос как IEnumerable, чтобы отложить его выполнение.

3. Используйте Any() вместо .Count()

Если нужно проверить наличие элементов, то здесь Any() быстрее, чем Count() > 0, так как завершает поиск сразу после нахождения первого подходящего элемента:
if (data.Any(x => x.IsActive)) { /* ... */ }


Жми 🔥 если понравился пост

C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51👍7🤝5
This media is not supported in your browser
VIEW IN TELEGRAM
Git How To — сайт, который предлагает пошаговые руководства и практические примеры для изучения системы контроля версий Git, облегчая процесс освоения её основных команд и функционала.

Ссылочка: https://githowto.com/ru

➡️ C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6🤝3👎1
🖥 Управление исключениями

Исключения крайне важны при написании кода, не везде вас спасет if else, в этом посте разберем основные принципы работы исключений.

1. Использование блоков try и catch: для перехвата и обработки исключений в коде:
try {
int result = 10 / int.Parse("0");
} catch (DivideByZeroException ex) {
Console.WriteLine("Деление на ноль: " + ex.Message);
}


2. Создание пользовательских исключений: для более специфичной обработки ошибок:
public class CustomException : Exception {
public CustomException(string message) : base(message) {}
}
throw new CustomException("Произошла ошибка!");


3. Использование finally: для выполнения кода независимо от того, произошло исключение или нет:
try {
// код
} catch (Exception ex) {
Console.WriteLine(ex.Message);
} finally {
Console.WriteLine("Этот код выполнится в любом случае.");
}


4. Множественные catch блоки: для обработки различных типов исключений отдельно:
try {
// код
} catch (FormatException ex) {
Console.WriteLine("Неверный формат: " + ex.Message);
} catch (DivideByZeroException ex) {
Console.WriteLine("Деление на ноль: " + ex.Message);
}


C# Ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍11🤝5👎2
📖Паттерны проектирования для C# и платформы .NET Core

В этой книге подробно рассматриваются эффективные способы применения паттернов проектирования на языке C# и платформе .NET Core.

Автор: Арораа Г., Чилберто Д
Год: 2021


⬇️ Скачать книгу

➡️ C# Ready | #книга
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4🤝2👎1
🖥 Асинхронное программирование

В этом посте мы рассмотрели некоторые варианты работы с асинхронностью, это важный момент при написании оптимизированных программ:

• Оператор await
• Объявление асинхронного метода с async
• Обработка ошибок, при асинхронном программировании нужно быть бдительным к данным, поэтому очень важно отлавливать ошибки


Особенности и использование смотри в картинках выше!


🔥 — если узнал новое
🤝 если уже пользовался

C# Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41🤝26👍5👎2
😎 Отличная статья с Хабра: Управление зависимостями с Autofac в C#

В этой статье:
• Вы познакомитесь с библиотекой Autofac для внедрения зависимостей в C#.

🔊 Реально советую ознакомится на Habr!


➡️ C# Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
👩‍💻 Шпаргалка по методам списков

В ней собраны самые базовые методы, которые необходимы для выполнения различных операций со списками.

➡️ C# Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝40🔥12👍7
This media is not supported in your browser
VIEW IN TELEGRAM
CodeWars — одна из лучших платформ с различными заданиями по программированию, вы можете улучшать свой ранг, выполняя практические задания прямо на сайте.

📌 Ссылочка: codewars.com

➡️ C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17🤝5
🖥 Любимый dynamic

В языке C# ключевое слово dynamic кажется универсальным инструментом для создания переменных без строгой типизации. Но этот гибкий подход может скрывать немало подводных камней


Например, если вы создаете переменную так:
dynamic number = "42";
Console.WriteLine(number + 5);


На первый взгляд, можно предположить, что результатом будет число 47. Но dynamic откладывает проверку типов на момент выполнения. В итоге вызов number + 5 даст ошибку во время выполнения, так как number — это строка, а не число.

Теперь попробуем преобразование:
dynamic text = "42";
int result = int.Parse(text);
Console.WriteLine(result + 5); // Результат: 47


В этом примере ошибок не будет, так как явно указан метод int.Parse. Но из-за динамической природы text этот код все равно может повести себя непредсказуемо, если исходное значение text изменится на что-то другое.

Почему важно осторожное использование dynamic? Главная сложность — отсутствие проверки типов на этапе компиляции. В небольших скриптах это может быть удобно, но в крупных проектах это может привести к трудностям в отладке и неочевидным ошибкам.

C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍4😁1
📖 Язык программирования C# 6.0 и платформа .NET 4.6

В этой книге рассматриваются ключевые аспекты языка C# 6.0 и платформы .NET 4.6, акцентируя внимание на новых возможностях и улучшениях, которые делают разработку более эффективной и удобной

Автор: Эндрю Т. Филипп Д.
Год: 2017


⬇️ Скачать книгу

➡️ C# Ready | #книга
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4