Это вопрос, который мне задавали во время моего интервью: Какой «случайный» объект (ы) будет получен во время вызова «GC.Collect ()»?
String a = new Random().Next(0, 1) ==1 ? "Whatever 1" : "Whatever 2";
String b = new WeakReference(new Random()).Target.Next(0, 1) == 1 ?
"Whatever 1" : "Whatever 2";
GC.Collect();
Я ответил, что это вопрос, связанный с реализацией, и он сильно зависит от реализации GC
и соответствующей семантики слабых ссылок.Насколько я знаю, спецификация C # не дает точного описания того, что GC.Collect
должен делать и как обрабатывать слабые ссылки.
Однако мой интервьюер хотел услышать что-то еще.