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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/csharp_ready
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
Auto-Using for C# — это расширение для Visual Studio Code, которое автоматически добавляет необходимые директивы using в ваш C# код, упрощая и ускоряя работу с пространствами имён.

➡️ C# Ready | #плагин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥6
👩‍💻 Расширенные методы LINQ

LINQ крайне прикольная штука, она позволяет решать сложные задачи обработки данных лаконично.

Сейчас расскажу про менее очевидные, но мощные возможности, которые помогут вам оптимизировать работу с коллекциями и данными:

1. Группировка с последующей фильтрацией
— можно группировать элементы и сразу применять фильтры на основе условий:
var data = new[] { 1, 2, 3, 4, 5, 6 };
var result = data.GroupBy(x => x % 2)
.Where(g => g.Key == 1)
.SelectMany(g => g);
// Результат: [1, 3, 5]


2. Создание словарей с помощью ToDictionary — LINQ позволяет преобразовать коллекцию в словарь:
var items = new[] { "apple", "banana", "cherry" };
var dict = items.ToDictionary(x => x, x => x.Length);

// Результат: {"apple": 5, "banana": 6, "cherry": 6}


3. Выбор уникальных элементов через DistinctBy:

Сравнение объектов по конкретному ключу с использованием DistinctBy (доступно через System.Linq)
var people = new[] {
new { Name = "Alice", Age = 30 },
new { Name = "Bob", Age = 25 },
new { Name = "Alice", Age = 35 }
};
var unique = people.DistinctBy(p =>
p.Name);
// Результат: Alice (30), Bob (25)


C# Ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥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
🔥16🤝7👍4😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Достаточно много новичков в этом канале, поэтому вот сайт для начинающих в C# — Tutorials Teacher

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

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

➡️ C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4🤝2
👩‍💻 Проверяем наличие элемента в списке с помощью методов Contains() и Exists()

Contains — проверяет наличие конкретного элемента в списке, возвращая true, если элемент найден, и false, если нет.

Exists — проверяет, существует ли в списке элемент, соответствующий заданному условию (предикату), возвращая true при наличии такого элемента и false в противном случае.

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

➡️ C# Ready | #метод
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22🤝8👍3
👍8👎2🔥2
Что выведет консоль?
Anonymous Quiz
49%
A
37%
B
10%
C
4%
D
👍13👎1🔥1
Изучаем работу индексаторов

Индексаторы в C# позволяют обращаться к данным объекта, как если бы это были элементы массива.

Представим, что у нас есть класс ContactList, который хранит контакты в виде словаря.

Индексатор позволит нам добавлять и получать контакты по имени. Например, если мы хотим установить номер телефона для Алисы, можно использовать индексатор, как для массива:
public class ContactList
{
    private Dictionary<string, string> contacts = new Dictionary<string, string>();

    // Индексатор для доступа к контактам
    public string this[string name]
    {
        get => contacts.ContainsKey(name) ? contacts[name] : "Контакт не найден";
        set => contacts[name] = value;
    }
}


Теперь, чтобы использовать этот класс, создадим объект contactList и добавим несколько контактов с помощью индексатора. Например, добавим контакт для Алисы, указав ее номер телефона:
ContactList contactList = new ContactList();
contactList["Алиса"] = "+123456789";  // Устанавливаем контакт для Алисы


Чтобы получить номер телефона Алисы, можно просто использовать индексатор, указав имя контакта:
Console.WriteLine(contactList["Алиса"]);  // Получаем номер Алисы


🔥 Таким образом, индексаторы позволяют нам обращаться к данным внутри объекта, как к элементам массива, обеспечивая компактность и удобство работы с коллекциями данных в C#

➡️ C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5
👩‍💻 Работали с рефлексией в Шарпе?

Так вот, она позволяет получать информацию о типах во время выполнения программы, что полезно для динамического создания объектов, вызова методов и работы с атрибутами.

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

➡️ C# Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20🤝6👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Exercism — это платформа для изучения программирования через практические задания. На ней доступны более 70 ЯП, в том числе и С#. Есть как практический, так и теоретический материал.

Ссылочка: https://exercism.org

➡️ C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3🤝1