none
Что происходит со старым Chldren когда добавляю Chldren.add(...) RRS feed

  • Вопрос

  • Вот например есть

    GridName.Children.Add(TextBlockName1);

    если я не делаю

    GridName.Children.Clear();

    А сразу пишу

    GridName.Children.Add(TextBlockName2);
    Что будет с TextBlockname1 - удалится? Или надо очищать, или он где то висит в памяти и к нему можно обратиться и вернуть именно этот экземпляр TextBlockName1.

    Спасибо

    6 февраля 2013 г. 8:42

Ответы

  • Если вы не очищаете коллекция то экземпляр хранится в памяти до конца жизни этой коллекции, если вы очистите коллекцию то при следующей сборки мусора система освободит занимаемую им память
    • Помечено в качестве ответа developers_s 6 февраля 2013 г. 9:44
    6 февраля 2013 г. 8:59
  • Children у Grid это коллекция и имеет такое же поведение как все коллекции с небольшими специфическими отличиями. В любой коллекции Add добавляет элемент в конец списка с сохранением всех остальных элементов списка.

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа developers_s 6 февраля 2013 г. 9:44
    6 февраля 2013 г. 9:13
    Отвечающий

Все ответы

  • Если вы не очищаете коллекция то экземпляр хранится в памяти до конца жизни этой коллекции, если вы очистите коллекцию то при следующей сборки мусора система освободит занимаемую им память
    • Помечено в качестве ответа developers_s 6 февраля 2013 г. 9:44
    6 февраля 2013 г. 8:59
  • Children у Grid это коллекция и имеет такое же поведение как все коллекции с небольшими специфическими отличиями. В любой коллекции Add добавляет элемент в конец списка с сохранением всех остальных элементов списка.

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа developers_s 6 февраля 2013 г. 9:44
    6 февраля 2013 г. 9:13
    Отвечающий
  • Супер. Это многое решает и меняет. Спасибо.


    Спасибо

    6 февраля 2013 г. 9:44