Можно, но не рекомендуется. Строки могут быть разделяемыми между разными частями программы, даже если они написаны одинаково. Это может привести к неожиданным блокировкам. Лучше использовать уникальные объекты, специально созданные для блокировки.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
41%
var anon = new { string Name = "John", int Age = 30 };
42%
var anon = new { Name = "John", Age = 30 };
10%
var anon = new { "John", 30 };
7%
var anon = { Name = "John", Age = 30 };
Anonymous Quiz
6%
Объект будет удален из памяти
13%
Ресурсы будут освобождены автоматически
59%
Ресурсы останутся занятими до финализации объекта
23%
Метод Dispose() вызовется автоматически
💊1
1. Явное (explicit) — требует указания типа вручную. Может привести к ошибке времени выполнения.
2. Неявное (implicit) — происходит автоматически, когда не теряется информация.
3. Пользовательское (custom) — через оператор operator или as/is.
4. Boxing/Unboxing — упаковка значимых типов в объект и обратно.
5. Приведение интерфейсов/наследования — преобразование к базовому или интерфейсному типу.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔3👍1🔥1
Anonymous Quiz
7%
Гарантии порядка операций
49%
Оптимизация памяти
6%
Устранение гонок данных
38%
Управление garbage collection
💊6
Anonymous Quiz
33%
Явное преобразование типов
39%
Неявное преобразование типов
17%
Запрет преобразования типов
12%
Преобразование типов только внутри класса
💊3
- Используйте, когда требуется задать общий контракт для классов без предоставления реализации.
- Подходит для ситуаций, где объекты могут принадлежать разным иерархиям.
2. Абстрактный класс:
- Используйте, когда нужно предоставить частичную реализацию вместе с контрактом.
- Подходит для классов в одной иерархии, где есть общая логика.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤔1
Anonymous Quiz
81%
Task.WhenAll
5%
Task.WhenAny
9%
Task.ContinueWith
5%
Task.CompleteAll
Anonymous Quiz
4%
Ключевые слова для создания новых потоков
1%
Конструкции для управления доступом к данным
94%
Ключевые слова для асинхронного программирования
1%
Методы для синхронизации потоков
Boxing — это преобразование значимого типа в объект (упаковка), unboxing — обратно.
Минусы:
- Снижение производительности — за счёт дополнительных операций.
- Создание мусора — каждый boxing создаёт новый объект в куче.
- Потеря типобезопасности — unboxing требует явного указания типа, возможны ошибки во время выполнения.
Лучше избегать, особенно в циклах или чувствительных к производительности местах.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
64%
AddRange
6%
InsertRange
8%
Concat
22%
Append
Anonymous Quiz
28%
Peek
61%
Pop
5%
Push
6%
Top
🔥1
В этом случае нужно использовать полное имя интерфейсов с указанием пространства имён (namespace).
Это позволяет разграничить их и избежать конфликта.
Если нужно реализовать оба в одном классе, возможна явная реализация, чтобы уточнить, к какому интерфейсу относится метод.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Anonymous Quiz
67%
Aggregate
26%
Sum
6%
Count
1%
Fold
🤔5
Anonymous Quiz
54%
throw new Exception()
14%
Task.Fail()
28%
Task.Throw()
5%
Task.Catch()
- FirstOrDefault возвращает первый элемент или значение по умолчанию, если коллекция пуста.
- SingleOrDefault возвращает единственный элемент, но выбрасывает исключение, если найдено более одного элемента.
SingleOrDefault подходит, если ожидается максимум один результат. FirstOrDefault — если важен первый элемент, независимо от остальных.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
36%
Type.GetType
24%
Object.GetType
39%
typeof()
2%
Activator.CreateInstance
Anonymous Quiz
17%
Func
6%
Action
64%
Expression
13%
Predicate
- Линейные: массивы, списки, стеки, очереди.
- Связные: односвязные, двусвязные списки.
- Хеш-таблицы: Dictionary, HashMap.
- Деревья: бинарные, AVL, красно-чёрные.
- Графы: ориентированные, неориентированные.
- Кучи, матрицы, множества, деки, очереди с приоритетом.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
Anonymous Quiz
53%
$"string {variable}"
37%
string.Format
6%
string.Concat
4%
string.Join
💊8🤔6
Anonymous Quiz
57%
ConfigureServices
22%
Configure
2%
Main
19%
UseServices