Boxing — это преобразование значимого типа (int, float и т.д.) в ссылочный тип (object), т.е. упаковка значения в объект.
Unboxing — это обратное преобразование: из object обратно в value-type.
Проблема: это создаёт накладные расходы на память и производительность.
Избежать можно следующим образом:
- Использовать обобщённые коллекции (List<int> вместо ArrayList).
- Не использовать object, если можно указать конкретный тип.
- Избегать приведения типов без необходимости.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
5%
List
41%
ConcurrentBag
30%
BlockingCollection
24%
ConcurrentQueue
💊1
Anonymous Quiz
42%
sealed
54%
abstract
3%
private
2%
internal
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
12%
Format()
51%
ToDateTime()
10%
Convert()
27%
Parse()
Anonymous Quiz
5%
implements
6%
extends
5%
inherit
84%
:
💊5
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
23%
Parse
23%
Open
48%
Load
7%
Import
👍1
Anonymous Quiz
87%
ConcurrentBag
4%
List
6%
Dictionary
3%
HashSet
👍1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
3%
interface IChild inherits IParent { void NewMethod(); }
7%
interface IChild extends IParent { void NewMethod(); }
4%
interface IChild implements IParent { void NewMethod(); }
86%
interface IChild : IParent { void NewMethod(); }
💊2
Anonymous Quiz
63%
Будет вызван метод базового класса
12%
Будет вызван метод производного класса
6%
Метод не будет вызван
19%
Будет выброшено исключение
Этот механизм называется интернирование строк (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() вызовется автоматически