Компьютерный форум NoWa.cc

Компьютерный форум NoWa.cc (https://nowa.cc/index.php)
-   .NET (https://nowa.cc/forumdisplay.php?f=298)
-   -   Новичок с смешными вопросами для профи на С# (https://nowa.cc/showthread.php?t=172047)

plahmonah 09.07.2008 23:01

Новичок с смешными вопросами для профи на С#
 
Подскажите как очистить оперативную память при закрытии одной из форм.
Пробывал как к дельфи типа Free, Clear, таких нет зарез-х слов...
Плиз подскажите...:)

Ivan_32 09.07.2008 23:26

Ответ: Новичок с смешными вопросами для профи на С#
 
Отвечает самовар :)
Форма это тоже компонент и как у компонента у нее есть родительский класс в котором есть Деструктор , вот в коде деструктора можно записать все что нужно будет очистить. Каждый компонент на форме как и сама форма наследует интерфейс Icomponent в котором есть метод Dispose() который и чистит память от мусора. Можно сделать копию деструктора в другом классе и оттуда его вызывать как обычную функцию.
PS: Если напутал поправьте.
PSS: Прямой возможности очистить память вроде как нету только через этот метод...

pluton 09.07.2008 23:34

Ответ: Новичок с смешными вопросами для профи на С#
 
Цитата:

Сообщение от bjjzp (Сообщение 1769908)
Подскажите как очистить оперативную память при закрытии одной из форм.
Пробывал как к дельфи типа Free, Clear, таких нет зарез-х слов...

я когда начинал учить j2me тоже над этим задумался. там идёт авто сборка мусора, и даже нет такого зарезервированного слова delete. в решётке аналогично.
ну а принудительно запустить очистку так:
Код:

GC.Collect();
GC.WaitForPendingFinalizers();


plahmonah 10.07.2008 16:26

Ответ: Новичок с смешными вопросами для профи на С#
 
Подскажите как сделать проверку на пустое поле, проверка запускает по слику по кнопки если поле textBox пустое то вылетает сообщение что поле не заполнено...
Написал такой код ну он что не проходит

textBox1.Text = "";
{
MessageBox.Show("Поле пустое!", "Сообщение");
}


uhu 11.07.2008 08:31

Ответ: Новичок с смешными вопросами для профи на С#
 
Попробуй так.
if (textBox1.Text == "")
{
MessageBox.Show("Поле пустое");
}
или
так
if (textBox1.Text.Length == 0)
{
MessageBox.Show("Поле пустое");
}

ligth_user 11.07.2008 08:57

Ответ: Новичок с смешными вопросами для профи на С#
 
Цитата:

Сообщение от bjjzp (Сообщение 1769908)
Подскажите как очистить оперативную память

Используй
using { ... создание объектов
}
// а после выхода из блока эти объекты сами удалятся

Добавлено через 5 минут
Цитата:

Сообщение от bjjzp (Сообщение 1771602)
как сделать проверку на пустое поле

Можно использовать валидаторы для формы
Можно через блок try...

Добавлено через 7 минут
Цитата:

Сообщение от uhu (Сообщение 1773001)
textBox1.Text.Length

Length - это кажись функция, т.е. Length()

booktiger 11.07.2008 17:32

Ответ: Новичок с смешными вопросами для профи на С#
 
для этого используется статический метод типа string
Код:

if (string.IsNullOrEmpty((textBox1.Text.Trim())))
            {
                MessageBox.Show("Empty");
            }
            else
            {
                MessageBox.Show("NotEmpty");
            }


nAXAH 11.11.2008 21:24

Re: Новичок с смешными вопросами для профи на С#
 
С удалением объектов новичку не нужно заморачиваться - все сделает сборщик мусора. Пока нету понимания, как он работает, что такое IDisposable, Finalizer и прочее - не надо трогать using {}, dispose() и прочее. Лучше врядли станет.
Если есть желание разобраться - читаем MSDN про Garbage Collector, IDisposable..

FerzCH 17.11.2008 23:08

Re: Новичок с смешными вопросами для профи на С#
 
Добрый день. Как скомпилировать программу в visual studio 2008?

fauzt 18.11.2008 15:22

Re: Новичок с смешными вопросами для профи на С#
 
Цитата:

Сообщение от FerzCH (Сообщение 2015722)
Добрый день. Как скомпилировать программу в visual studio 2008?

O_o
нажми кнопку "Build"

Minotawr 23.11.2008 09:38

Re: Новичок с смешными вопросами для профи на С#
 
Нафига остальные отвечали если в самом начале сказано что сабж вобще не нужен, сборщик сам все сделает, то что иногда он держит в памяти некоторые данные (иногда можно такое наблюдать при отладке) не значит что они не нужны, скорее всего их на данный момент использует какой - то другой процесс...
Забудьте про очистку памяти - занимайтесь написанием правильного кода. Там где вы не освободите ресурсы - компилятор сам ткнет вас носом...

Alexasha 14.01.2009 12:27

Re: Ответ: Новичок с смешными вопросами для профи на С#
 
Цитата:

Сообщение от pluton (Сообщение 1770005)
я когда начинал учить j2me тоже над этим задумался. там идёт авто сборка мусора, и даже нет такого зарезервированного слова delete. в решётке аналогично.
ну а принудительно запустить очистку так:
Код:

GC.Collect();
GC.WaitForPendingFinalizers();


Вызывать сорщик мусора не самый лучший вариант, производительность падает в разы, даже Microsoft об этом писала. Лучше принудительно вызывать Dispose()

sekt0r 16.01.2009 15:58

Re: Ответ: Новичок с смешными вопросами для профи на С#
 
Цитата:

Сообщение от bjjzp (Сообщение 1771602)
Подскажите как сделать проверку на пустое поле, проверка запускает по слику по кнопки если поле textBox пустое то вылетает сообщение что поле не заполнено...
Написал такой код ну он что не проходит
*** скрытый текст ***

Можно так-же воспользоваться методом Equals объекта:
Код:

if(textBox1. Equals(""))
{
      MessageBox.Show(Текст не введён.");
}
else
{
      MessageBox.Show("Текст введён.");
}


Skynin 16.01.2009 16:12

Re: Ответ: Новичок с смешными вопросами для профи на С#
 
Цитата:

Сообщение от Alexasha (Сообщение 2136638)
Лучше принудительно вызывать Dispose()

Вызов Dispose() не вызывает GC.Collect();
То есть память при вызове Dispose() освобождена не будет.

А нужен он для того чтобы его вызвал GC когда решит освободить память занимаемую объектом.

IDisposable.Dispose - метод

sanK 24.01.2009 03:28

Re: Новичок с смешными вопросами для профи на С#
 
может CLS?! =) или crt, что значит попробовал????????


Текущее время: 21:25. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2026 NoWa.cc

Время генерации страницы 0.04195 секунды с 9 запросами