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

Автор: @energy_it

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

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

➡️ 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
🖥 Оптимизируем работу с коллекциями для улучшения производительности

Рассмотрим некоторые варианты оптимизации кода с помощью сегмента памяти, в списках и массивах:

1. Использование сегмента памяти для работы с массивамиSpan<T> позволяет эффективно работать с сегментами массивов или строк без выделения дополнительной памяти:
int[] arr = { 1, 2, 3, 4, 5 };
Span<int> span = arr.AsSpan().Slice(1, 3); // [2, 3, 4]
Console.WriteLine(span.ToArray()); // вывод: 2 3 4


2. Использование списка для уменьшения перераспределений — Если заранее известно, сколько элементов будет в списке, можно установить емкость списка, чтобы избежать лишних перераспределений памяти:
List<int> list = new List<int>(1000); // заранее выделяем память
list.Add(1);
Console.WriteLine(list.Capacity); // вывод: 1000


3. Использование словаря для поиска по ключу — Вместо использования линейного поиска в списке, использование Dictionary обеспечивает быстрый доступ к данным по ключу за время O(1):
Dictionary<string, int> dict = new Dictionary<string, int>
{
{ "apple", 1 },
{ "banana", 2 },
{ "cherry", 3 }
};
Console.WriteLine(dict["banana"]); // вывод: 2


➡️ C# Ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥5🤝3
🖥 Знакомимся с System.Linq

В этом посте рассмотрим некоторые варианты работы с модулем System.Linq в С#, которые позволяют нам обрабатывать данные под наши нужды

- Фильтрация данных с помощью Where
- Сортировка OrderBy
- Использование Select


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

C# Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33🤝14👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Microsoft Learn — Официальная платформа от крупной корпорации, здесь собрано множество крутых курсов, которые помогут тебе углубиться в своей сфере

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

➡️ C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥5🤝2
🖥 Улучшаем эффективность вашего кода

1. Использование коллекции `List<T>` вместо массива для динамического добавления элементов — Использование List<T> позволяет добавлять элементы без необходимости заранее определять размер коллекции:
List<int> numbers = new List<int> { 1, 2, 3 };
numbers.Add(4);
Console.WriteLine(string.Join(", ", numbers));
// вывод: 1, 2, 3, 4


2. Использование `LINQ` для фильтрации коллекций — С помощью LINQ можно легко фильтровать элементы коллекции, сокращая код:
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumbers = numbers.Where(n => n % 2 == 0).ToList();
Console.WriteLine(string.Join(", ", evenNumbers)); // вывод: 2, 4


3. Использование `Dictionary<TKey, TValue>` для поиска значений по ключу: — Dictionary позволяет быстро искать элементы по ключу за время O(1), что делает код эффективным:
var dictionary = new Dictionary<string, int> { { "apple", 1 }, { "banana", 2 } };
Console.WriteLine(dictionary["apple"]);
// вывод: 1


C# Ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍7🤝5
👍47😁10🔥4
🖥 Регулярные выражения

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

- Поиск совпадений
- Извлечение совпадений
- Замена текста


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

C# Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22🤝10👍3