•
Contains
— проверяет наличие конкретного элемента в списке, возвращая true, если элемент найден, и false, если нет.•
Exists
— проверяет, существует ли в списке элемент, соответствующий заданному условию (предикату), возвращая true при наличии такого элемента и false в противном случае.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22🤝8👍3
👍13👎1🔥1
Изучаем работу индексаторов
Индексаторы в C# позволяют обращаться к данным объекта, как если бы это были элементы массива.
Представим, что у нас есть класс
Индексатор позволит нам добавлять и получать контакты по имени. Например, если мы хотим установить номер телефона для Алисы, можно использовать индексатор, как для массива:
Теперь, чтобы использовать этот класс, создадим объект contactList и добавим несколько контактов с помощью индексатора. Например, добавим контакт для Алисы, указав ее номер телефона:
Чтобы получить номер телефона Алисы, можно просто использовать индексатор, указав имя контакта:
🔥 Таким образом, индексаторы позволяют нам обращаться к данным внутри объекта, как к элементам массива, обеспечивая компактность и удобство работы с коллекциями данных в C#
➡️ C# Ready | #практика
Индексаторы в 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#
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5
Так вот, она позволяет получать информацию о типах во время выполнения программы, что полезно для динамического создания объектов, вызова методов и работы с атрибутами.
Этот механизм особенно удобен для задач, требующих высокой гибкости и расширяемости кода.
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
👍10🔥6
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍7🤝4
📖 Изучаем C# через разработку игр на Unity
⬇️ Скачать книгу
➡️ C# Ready | #книга
Книга обучает читателей языку C# в контексте игрового дизайна, предлагая практические проекты и задания, которые помогают закрепить полученные знания.
Автор: Харрисон Ферроне
Год: 2022
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
Паттерны проектирования — это проверенные решения типичных задач разработки, помогающие организовать код.
1. Паттерн Singleton: Один экземпляр для всей жизни.
Гарантирует, что у класса будет только один экземпляр, например, для управления настройками приложения:
public class Singleton
{
private static readonly Singleton _instance = new Singleton();
private Singleton() { }
public static Singleton Instance => _instance;
}
2. Паттерн Factory Method: Гибкое создание объектов.
Используется для создания объектов без указания их конкретного класса, что упрощает расширяемость:
public abstract class Creator
{
public abstract IProduct FactoryMethod();
}
3. Паттерн Repository: Изолируем доступ к данным.
Этот паттерн обеспечивает абстракцию доступа к данным, упрощая тестирование и поддержку:
public interface IRepository<T>
{
T Get(int id);
void Add(T entity);
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥6🤝2