Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
Jora-Master
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 111
#1

Создание переменной в цикле - C#

09.12.2013, 16:22. Просмотров 490. Ответов 4
Метки нет (Все метки)

C#
1
2
3
4
for (int i =0; i < 10; i++)
        {
            int a = 10;
        }
Почему такая запись работает, если после первого прохода по циклу была уже создана переменная a?
Ведь такая запись без цикла не работает:
int a = 10;
int a = 10;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2013, 16:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создание переменной в цикле (C#):

Рандомизация. Выпадает ошибка переменной в цикле for - C#
Почему в цикле for в переменной &quot;i&quot; ошибки? const int n = 20; int perm = Enumerable.Range(0,...

Конкатенация строк - происходит ли переинициализация переменной в цикле? - C#
В следующем коде при каждом выполнении строки, помеченной звездочками, создается новый экземпляр класса string или символы добавляются к...

Как получить предыдущее значение переменной в цикле - C#
Всем привет. В счетчике запускаю постоянный опрос для получения volumeqtybuy_1 числового значения из вне. Вопрос - как узнать значение...

Как прибавить к имени переменной номер счётчика в цикле? - C#
Есть такая конструкция: for(int i = 1; i &lt; 7; i++) { logic_uScriptAct_SpawnPrefab_uScriptAct_SpawnPrefab_i.FinishedSpawning +=...

Увеличение переменной, представленной в виде дробного числа, в цикле - C#
Помогите разобраться. Есть код for (k = min; k &lt;= max; k += 0.1) min = 1, max = 4. сначала на к поступает значение 1 и всё в...

Вывести значение переменной после всех вычислений в цикле - C#
Помогите! Как можно вывести только конечный ответ? double a; double sum = 0; for (int i = 1; i &lt;=...

4
lpvoid
322 / 305 / 17
Регистрация: 06.03.2013
Сообщений: 869
09.12.2013, 16:28 #2
ccobbra, если вы конкретно в блоке цикла попробуете написать так:
C#
1
2
3
4
5
for (int i =0; i < 10; i++)
        {
            int a = 10;
            int a = 10;
        }
то тоже получите ошибку. вы просто перезаписываете объект в цикле n раз, и все.

Не по теме:

а это колдунство не соптимизируется нафиг?

1
ViterAlex
6250 / 3454 / 1054
Регистрация: 11.02.2013
Сообщений: 7,620
Завершенные тесты: 3
09.12.2013, 16:28 #3
Потому что все проходы цикла независимы друг от друга. Не могу сказать, как это организовано на более низком уровне, но для себя я объясняю это так: каждый проход цикла это отдельная процедура со своими параметрами.
1
Jora-Master
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 111
09.12.2013, 16:32  [ТС] #4
Цитата Сообщение от ViterAlex Посмотреть сообщение
Потому что все проходы цикла независимы друг от друга. Не могу сказать, как это организовано на более низком уровне, но для себя я объясняю это так: каждый проход цикла это отдельная процедура со своими параметрами.
Так в цикле будет 10 разных переменных а или это будет одна и та же?
0
lpvoid
322 / 305 / 17
Регистрация: 06.03.2013
Сообщений: 869
09.12.2013, 16:35 #5
ccobbra, одна и та же будет перезаписываться в памяти, насколько я знаю. думаю, гуру поправят если что.
1
09.12.2013, 16:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2013, 16:35
Привет! Вот еще темы с ответами:

Создание массивов в цикле - C#
Можно ли создать N количества массивом с помощью цикла?

Создание потоков в цикле - C#
Помогите пожалуйста разобраться в следующей ситуации: Создаю в цикле 10 потоков от 0 до 9 Вывожу в каждом потоке цифры от 0 до 9 ...

Создание объектов класса в цикле - C#
Помогите, пожалуйста, с задачей. Создать приложение (Console Application), в котором в цикле создаётся 10 объектов класса. Поля для...

создание значимых типов в цикле - C#
если в цикле создавать значимую переменную for (int i = 0; i &lt; 1000; i++) { int k = 10; } то k создастся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru