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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/csharp_ready
加入频道
🔥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
📖 C# для начинающих

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

Автор: Борис Пахомов
Год: 2014


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

➡️ C# Ready | #книга
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2🤝2
🖥 Продвинутая работа с неизменяемыми типами в C#

Работа с неизменяемыми типами помогает создать более безопасный и предсказуемый код, особенно при работе с многопоточностью.


Рассмотрим ключевые аспекты и способы создания неизменяемых объектов:

1. Использование readonly полей в классах
Readonly поля позволяют задавать значения только при их инициализации или в конструкторе:
public class ImmutablePoint
{
public readonly int X;
public readonly int Y;

public ImmutablePoint(int x, int y)
{
X = x;
Y = y;
}
}


2. record типы для автоматической неизменяемости
В C# начиная с версии 9.0, появились record типы, которые автоматически предоставляют неизменяемость и удобные методы работы с ними:
public record ImmutablePoint(int X, int Y);


В отличие от классов, record типы предоставляют встроенные методы для сравнения объектов и копирования с изменениями:
var point1 = new ImmutablePoint(2, 3);
var point2 = point1 with { X = 5 };
Console.WriteLine(point2); // вывод: ImmutablePoint { X = 5, Y = 3 }


3. Создание полностью неизменяемых коллекций
При работе с коллекциями можно использовать типы из библиотеки System.Collections.Immutable:
using System.Collections.Immutable;
var immutableList = ImmutableList.Create(1, 2, 3);
immutableList = immutableList.Add(4);
Console.WriteLine(string.Join(", ", immutableList)); // вывод: 1,
2, 3, 4


➡️ C# Ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3🤝1
🖥 Создаем простой таймер!

В этом посте мы рассмотрим простое создание таймера на C# с добавлением многопоточности. Изучим некоторые вещи:

- Многопоточность для параллельной работы
- Использование потоков
- Реализация метода действия
- Запуск таймера


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

C# Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥34🤝12👍7👎2
This media is not supported in your browser
VIEW IN TELEGRAM
DotNetPerls сайт с множеством примеров кода и объяснений по различным аспектам C#. Полезен для изучения конкретных тем

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

➡️ C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥3
🔥45😁11
🔓 Интересная статья, как шифровать данные на C#

В этой статье:
• Одноразовый блокнот
• Потоковый шифр

• Хеш функция

Продолжить читать можешь на Habr!


C# Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍3
📖 Программируем на C# 8.0

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

Автор: Иэн Гриффитс
Год: 2021


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

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