Циклические ссылки в коллекциях
Циклическая ссылка возникает, когда объекты начинают ссылаться друг на друга. Это приводит к ситуации, при которой ни один из объектов, участвующих в циклической ссылке, не будет уничтожен. В свою очередь, это является причиной возникновения утечек памяти memory leaks
.
Классический пример циклической ссылки:
Данные = Новый Структура;
Данные.Вставить("Ключ", Данные);
Такая структура останется в оперативной памяти, пока не будет перезапущен процесс, в котором эта структура была создана. Циклические ссылки могут быть неявными, т.е. зацикливаться через несколько ссылок. Такая ситуация может быть опаснее, т.к. её очень трудно отследить.
См. также
Экранирование кода
// sonar:CyclicReferencesCollections:off
// sonar:CyclicReferencesCollections:on