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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/csharp_ready
Download Telegram
👩‍💻 Разбираемся с default в C# — быстрый «ресет» любых значений!

Он позволяет моментально получить значение по умолчанию для любого типа. Полезно при обнулении переменных, возврате «пустых» значений.

Что важно знать:

Для значимых типов возвращает «нулевое» значение (0, false, DateTime.MinValue)

Для ссылочных типов возвращает null — удобно для безопасной инициализации.

В обобщениях даёт правильное значение по умолчанию, не зная тип заранее.


При работе с большими кодовыми базами default экономит время: помогает сбрасывать поля структур без вызова конструкторов.

C# Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍12🤝54
This media is not supported in your browser
VIEW IN TELEGRAM
😎 Советую YeaHub — это IT платформа объединяющая обучение, подготовку к собеседованиям и развитие карьеры в одном месте!

База реальных собеседований от Т-Банк, Яндекса, Сбера и 100+ топовых компаний. 10 000+ вопросов по Frontend, Backend, DevOps и другим направлениям. Удобный тренажёр, персональная статистика и еженедельные обновления.

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

C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥65
Расширяем string своим методом — ToSlug.

Сейчас научимся добавлять собственные методы к стандартным типам в C#, не изменяя их код и не создавая подклассов.

Подключим стандартную библиотеку:
using System;


Допустим, у нас есть строка с названием статьи, и мы хотим превратить её в "slug" — пригодную для URL или имён файлов. У стандартного string такого метода нет, но мы можем добавить его сами через метод-расширение.

Создаём статический класс и описываем метод, указав this перед первым параметром:
static class StringExtensions
{
static string ToSlug(this string input)
{
return input
.ToLower()
.Replace(" ", "-")
.Replace(".", "")
.Replace(",", "");
}
}


Теперь мы можем вызывать .ToSlug() прямо у строки — будто это встроенный метод:
string headline = "Новости дня, кратко и ясно.";
string slug = headline.ToSlug();
Console.WriteLine(slug);


Вот что получится при запуске:
новости-дня-кратко-и-ясно


🔥 Таким образом ты можешь элегантно добавлять поведение к любым типам — без наследования и без лишнего кода.

➡️ C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍117
👍11🔥65
Что же выведет консоль?
Anonymous Quiz
53%
A
10%
B
10%
C
28%
D
👍16🔥65
👩‍💻 Удобная работа с интервалами времени!

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

➡️ C# Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥296👍4🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
😎 Знали про удобный сборник готовых фрагментов кода на шарп — C# Examples?

Это кладезь лаконичных сниппетов: LINQ-агрегации, работу со строками, файлами, форматированием и другие советы можно просто скопировать и вставить в свой проект.

📌 Оставляю ссылочку: csharp-examples

C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍7🔥6
👩‍💻 Изучаем обработку ввода в Unity — важную часть взаимодействия с игроком!

Unity предлагает два способа: напрямую через клавиши или через действия из Input Manager. Оба метода позволяют легко реагировать на действия пользователя.

Ключевые моменты:

Input.GetKey() и его аналоги читают физические клавиши — подойдут для прототипов

Input.GetButton() использует имена действий — удобно для масштабируемых настроек

Методы вызываются в Update() и работают каждый кадр


Низкоуровневый и абстрактный подход — выбирай в зависимости от целей и размера проекта.

➡️ C# Ready | #unity
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍1410🤝10
Фильтруем списки эффективно с ToHashSet!

Сейчас научимся быстро отбирать элементы одного списка, проверяя, есть ли они в другом. Это избавит от лишних проходов и ускорит работу кода.

Подключим нужные библиотеки — всё уже есть в стандартной библиотеке:
using System;
using System.Collections.Generic;
using System.Linq;


Допустим, мы хотим оставить только избранные фрукты. Без оптимизации код выглядит так:
List<string> fruits = new() { "apple", "banana", "mango", "orange" };
string[] favorite = { "banana", "kiwi", "orange" };

var selected = fruits.Where(f => favorite.Contains(f)).ToList();


Если списки большие, Contains() будет работать медленно — каждый раз проходит по массиву.

Теперь преобразуем второй список в HashSet — поиск в нём быстрее:
List<string> fruits = new() { "apple", "banana", "mango", "orange" };
string[] favorite = { "banana", "kiwi", "orange" };

HashSet<string> favSet = favorite.ToHashSet();

var selected = fruits.Where(f => favSet.Contains(f)).ToList();


🔥 Без ToHashSet() код искал «банан» в массиве снова и снова. С HashSet — это почти мгновенная проверка.

➡️ C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥9👍8
12👍5🔥5
Что же выведет консоль?
Anonymous Quiz
33%
A
15%
B
18%
C
35%
D
👍14🔥85