Объявление переменных в цикле for - C#
Формулировка задачи:
Доброго дня всем! Продолжаю изучать C#. Начал разбирать свой текстовый файлик с "вопросами"
и вот:
Как работает конструкция:
Во время проверки условия работы for переменные становятся невидимыми. Как только условие оказывается истинным, то
переменные становятся видимыми, причём строки
- игнорируются. А значения переменных остаются те, которые они получили перед выходом из предыдущей итерации. Делаю вывод - при "объявлении" переменных внутри цикла, память выделяется ОДИН раз - в первой иттерации. А потом используется уже выделенная память (как для переменных-значений, так и для переменных-ссылок)
С другой стороны конструкция
каждый раз "забывает" про старый стринг и создаёт новый, причём старый удаляется GC
Правильно рассуждаю?
for(int i=0; i<10; ++i)
{
int n;
n = 4;
string a;
a = "sasa";
}int n; string a
for(int i=0; i<10; ++i)
{
string a = new string("sasa");
}Решение задачи: «Объявление переменных в цикле for»
textual
Листинг программы
string s1 = "ab" + "c"; string s2 = "a" + "bc"; Console.WriteLine(s1 == s2);