Этот механизм называется интернирование строк (String Interning). Он позволяет хранить одинаковые строковые значения в едином пуле для экономии памяти.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
43%
IsMatch
42%
Match
10%
Matches
5%
Validate
Anonymous Quiz
59%
SetMaxThreads
29%
LimitThreads
3%
AdjustThreads
9%
ConfigureThreads
👍1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Anonymous Quiz
14%
try
13%
catch
2%
finally
72%
throw
💊10
Anonymous Quiz
49%
interface IMyInterface { T MyMethod(T param); }
29%
interface IMyInterface(T) { T MyMethod(T param); }
6%
generic interface IMyInterface { T MyMethod(T param); }
16%
interface IMyInterface of T { T MyMethod(T param); }
💊16
Можно, но не рекомендуется. Строки могут быть разделяемыми между разными частями программы, даже если они написаны одинаково. Это может привести к неожиданным блокировкам. Лучше использовать уникальные объекты, специально созданные для блокировки.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
41%
var anon = new { string Name = "John", int Age = 30 };
44%
var anon = new { Name = "John", Age = 30 };
10%
var anon = new { "John", 30 };
6%
var anon = { Name = "John", Age = 30 };
Anonymous Quiz
6%
Объект будет удален из памяти
10%
Ресурсы будут освобождены автоматически
61%
Ресурсы останутся занятими до финализации объекта
23%
Метод Dispose() вызовется автоматически
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
Anonymous Quiz
6%
Гарантии порядка операций
48%
Оптимизация памяти
7%
Устранение гонок данных
40%
Управление garbage collection
💊5
Anonymous Quiz
35%
Явное преобразование типов
37%
Неявное преобразование типов
18%
Запрет преобразования типов
10%
Преобразование типов только внутри класса
💊3
- Используйте, когда требуется задать общий контракт для классов без предоставления реализации.
- Подходит для ситуаций, где объекты могут принадлежать разным иерархиям.
2. Абстрактный класс:
- Используйте, когда нужно предоставить частичную реализацию вместе с контрактом.
- Подходит для классов в одной иерархии, где есть общая логика.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤔1
Anonymous Quiz
80%
Task.WhenAll
4%
Task.WhenAny
10%
Task.ContinueWith
6%
Task.CompleteAll
Anonymous Quiz
4%
Ключевые слова для создания новых потоков
1%
Конструкции для управления доступом к данным
94%
Ключевые слова для асинхронного программирования
1%
Методы для синхронизации потоков
Boxing — это преобразование значимого типа в объект (упаковка), unboxing — обратно.
Минусы:
- Снижение производительности — за счёт дополнительных операций.
- Создание мусора — каждый boxing создаёт новый объект в куче.
- Потеря типобезопасности — unboxing требует явного указания типа, возможны ошибки во время выполнения.
Лучше избегать, особенно в циклах или чувствительных к производительности местах.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
66%
AddRange
6%
InsertRange
9%
Concat
19%
Append
Anonymous Quiz
31%
Peek
58%
Pop
5%
Push
7%
Top
🔥1
В этом случае нужно использовать полное имя интерфейсов с указанием пространства имён (namespace).
Это позволяет разграничить их и избежать конфликта.
Если нужно реализовать оба в одном классе, возможна явная реализация, чтобы уточнить, к какому интерфейсу относится метод.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Anonymous Quiz
69%
Aggregate
24%
Sum
5%
Count
1%
Fold
🤔5
Anonymous Quiz
55%
throw new Exception()
12%
Task.Fail()
28%
Task.Throw()
6%
Task.Catch()