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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/csharp_ready
Download Telegram
👩‍💻 Познакомимся с nullable-типами — способом работать с переменными, которые могут не иметь значения!

Они позволяют упростить логику проверки на null, безопасно извлекать значения и подставлять значения по умолчанию без лишнего кода. Отлично подходят для случаев, когда нужно работать с value-типами, но предусмотреть возможность их отсутствия.

➡️ C# Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24🤝10👍64
👍4🔥41
Что же выведет консоль?
Anonymous Quiz
19%
A
9%
B
52%
C
20%
D
👍6🔥41
Init-only свойства для безопасной инициализации объекта!

Сейчас научимся задавать значения свойств только при создании объекта — с помощью аксессора init. Удобно для создания неизменяемых структур без лишнего шаблонного кода.

Для начала подключим стандартные библиотеку
using System;


Опишем простой класс Person с двумя свойствами, доступными только для инициализации:
class Person
{
public string Name { get; init; }
public int Age { get; init; }
}


Создадим экземпляр объекта и зададим значения свойств через инициализатор:
var person = new Person
{
Name = "Анна",
Age = 28
};
Console.WriteLine($"{person.Name}, {person.Age} лет");


Попробуем изменить значение после создания объекта — компилятор не даст этого сделать:
person.Age = 29; // Ошибка: свойство доступно только для инициализации


🔥 Init-only свойства позволяют задать значение один раз и гарантируют неизменяемость объекта после создания

➡️ C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2511👍7🤝1
👩‍💻 Серия роликов для начинающих и не только!

Вы познакомитесь с языком C#: от базового синтаксиса и ООП до создания приложений на WPF, работы с ASP.NET, использования Entity Framework и разработки полноценных проектов для настольных и веб-платформ.

Ссылочка на плейлист: YouTube 🖤


➡️ C# Ready | #курс
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥4👎1
👩‍💻 Обрезка строки по словам с многоточием!

Пишем функцию TruncateByWord на , которая обрезает входной текст до заданного числа символов, не разрывая слова, и добавляет «…» в конце.

В этой задаче:

Проверяем, не превышает ли длина текста лимит — если нет, возвращаем исходную строку без изменений.

Обрабатываем слишком маленький лимит): возвращаем строку только из точек нужной длины.

Если пробел не найден, обрезаем ровно по чистому лимиту и добавляем «…».


Полезно, когда нужно показывать превью длинного текста так, чтобы они не обрывались посередине слова и оставались читабельными.

➡️ C# Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥116🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ Programm․top — это образовательная платформа с теоретическими материалами, примерами и задачами!

Здесь вы найдёте базовые руководства по синтаксису языка, работу с переменными, операциями, массивами и строками, основы ООП, алгоритмы, структуры данных, а также практические задания и готовые программы для отработки навыков.

📌 Оставляю ссылочку: programm.top

C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥6👍4
Interpolated verbatim-строки для удобной многострочной интерполяции!

Сейчас научимся сочетать многострочные строковые литералы и интерполяцию — с помощью $@ или @$.

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

Для начала зададим переменные, которые хотим вставить в шаблон текста:
string name = "Анна";
int messages = 5;


Теперь создадим многострочную строку. Благодаря сочетанию $@, можно использовать переносы строк и подставлять значения переменных прямо внутри литерала:
var text = $@"Привет, {name}!
У вас {messages} новых сообщений.
Хорошего дня!";


Важно: порядок $@ или @$ не имеет значения — оба варианта работают одинаково. Ниже пример с другим порядком:
var info = @$"
Дата: {DateTime.Now:dd.MM.yyyy}
Сообщений: {messages}
";


🔥 Это удобно, когда нужно вставлять переменные прямо в текст, использовать переносы строк и не экранировать кавычки " или обратные слеши \.

➡️ C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍149🔥7
👩‍💻 Сегодня рассмотрим два важных метода LINQ — для сортировки и агрегации:

OrderByDescending() — сортирует элементы коллекции в порядке убывания по заданному критерию (например, получить топовые значения, рейтинги или даты)

Aggregate() — выполняет агрегацию элементов коллекции с помощью пользовательской функции (сумма, произведение или даже сборка строки.

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


➡️ C# Ready | #метод
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍15🤝54
👩‍💻 Разбираемся с Lazy<T> — ленивое создание объектов и экономия ресурсов!

Он позволяет создавать объект только при первом обращении к нему. Это ускоряет старт приложения и снижает нагрузку на память.

Что важно знать:
ExecutionAndPublication — потокобезопасно, объект создаётся один раз.

• None — без синхронизации, быстрее, но небезопасно в потоках.

PublicationOnly — несколько попыток, сохраняется первый успешный результат.


Этот способ помогает писать оптимальный и надёжный код, экономя ресурсы.

C# Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍86🤝1