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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/csharp_ready
加入频道
📖 Язык программирования 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
🔥41
🖥 Управляем ресурсами эффективно: IDisposable и using

C# предоставляет простой и элегантный способ работы с ресурсами, которые требуют явного освобождения, через интерфейс IDisposable и конструкцию using. Хотя многим разработчикам это кажется базовым знанием, на практике часто можно увидеть ошибки или неочевидные моменты.


Представьте ситуацию, вы работаете с подключением к базе данных или файловым потоком. Обычный способ открытия файла может выглядеть так:
FileStream fileStream = new FileStream("example.txt", FileMode.Open);
// Работа с файлом
fileStream.Close();


Проблема здесь в том, что если произойдет исключение перед вызовом Close(), файл останется незакрытым, и это приведет к утечке ресурсов.

Использование using для автоматического освобождения
Конструкция using автоматически вызывает метод Dispose() при выходе из блока, даже в случае исключения:
using (FileStream fileStream = new FileStream("example.txt", FileMode.Open))
{
// Работа с файлом
}
// fileStream автоматически освобождается здесь


Работа IDisposable
Когда вы создаете собственные классы, которые используют управляемые или неуправляемые ресурсы, реализация интерфейса IDisposable гарантирует, что ресурсы будут корректно освобождены:
public class ResourceHandler : IDisposable
{
private bool disposed = false;
public void Dispose()
{
if (!disposed)
{
// Освобождение ресурсов
disposed = true;
}
}
}


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

C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍7🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Uno Platform предоставляет свой фреймворк и туториалы, является отличным выбором для разработчиков, стремящихся создать кроссплатформенные приложения с минимальными затратами времени и ресурсов.

📌 Ссылочка: https://platform.uno

➡️ C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥5
👩‍💻 Шпаргалка по методам и функциям

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

➡️ C# Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍7🤝3