Re[10]: Работа - с чего начать: С++ или С#?
От: MxKazan Португалия  
Дата: 25.04.09 08:23
Оценка:
Здравствуйте, romangr, Вы писали:

R>Здравствуйте, catBasilio, Вы писали:

B>>неиспользуемые объекты будут держаться до заврешения программы.
B>>И попробуй убеди меня что это не утечка памяти. И я очень сомневаюсь gc при вызове "ручками" поймет что это некому не нажный код и удалит его.
B>>P.S. это высосанный из пальца пример, но проблему он показывает вполне.

R>Этот высосанный из пальца пример показывает, что ты не знаешь ни c#, ни то как работает gc.


Я, кстати, проверил только что. Есть приложение на WPF, вбил следующий Main:
public static void Main() 
{
    var d = new Test[1000000];
    for (int i = 0; i < d.Length; i++)
    {
        d[i] = new Test();
    }
    d[23].F = 23;
    d[230].F = 23;
    MyApplication app = new MyApplication();
    app.Run();
}


Test — простой класс с двумя-тремя свойствами, который в финализаторе показывает MessageBox.

Запустил в debug — массив жил на протяжении работы приложения.
Запустил в release, но из под Студии — массив жил на протяжении работы приложения.
Запустил в release просто из Проводника — объекты массива d начали собираться GC еще на этапе загрузки главного окна приложения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.