| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > В цикле не изменяет значения. |
| Автор: MasterOfCode 28.4.2008, 15:15 | ||||
- кусок кода в программе. кусок кода в классе:
почему-то не меняет значения в цикле? Почему? |
| Автор: mr.DUDA 28.4.2008, 15:27 | ||
В чём именно ошибка, сказать? |
| Автор: fantast 28.4.2008, 17:29 | ||||
index у тебя начинается с 0, и foreach'ем ты идешь с первого элемента, тоесть вот в этих строках
lines[index] и есть line, и ты сначала Сomments записываешь в Value, а потом новое значение Value опять записываешь в Сomments, логики тут нет это точно, потому что этим ты делаешь так, чтобы значение Сomments лежало еще и в Value; если ты этим хотел поменять значения местами то делай это через 3юю переменную, а если хотел чтоб Value равнялся Сomments, то вторая строка лишняя возможго из-за этого Добавлено через 1 минуту и 16 секунд и судя по всему ты хотел внести
эту строку в тело цикла |
| Автор: mr.DUDA 28.4.2008, 17:37 | ||||
Там не только этот баг, есть ещё один. Раз уж никто не нашёл ошибку, объясняю:
заменяем на:
Собственно, сеттер свойств принимает новое значение через ключевое слово value, а в первоначальном коде свойству переприсваивалось его же значение (имя свойства с большой буквы). |
| Автор: fantast 28.4.2008, 17:43 | ||
mr.DUDA, чел написал
что скорее всего означает, что программа у него скомпелировалась, а значит этот пример он написал в торопях, и эти ошибки в пропертях допустил из-за неосторожности, и они к теме не имеют никакого отношения. а так разумеется ты прав. |
| Автор: MasterOfCode 28.4.2008, 19:00 | ||||
| Возникли такие вопросы: Оператор foreach начинает брать значения с первого элемента, а не с нулевого? (Очень сомнительно, т.к. я же начинаю с 0 элемента и в режиме отладчика проверяю lines[index].Value и line.Value имеют одинаковое значение) в цикле foreach (cLine line in lines) в line пойдет указатель на запись в lines? Т.о. можно просто менять line и в "массиве" будут синхронно происходить изменения? Спасибо mr.DUDA, не знал что сеттер таким образом устанавливается через маленькое value. Всем спасибо. Добавлено @ 19:06
Прости, но помоему index++ в теле цикла. |
| Автор: Dennnis 28.4.2008, 20:03 | ||||
Вобщем так должно быть
|
| Автор: fantast 29.4.2008, 10:38 | ||||
| блин совсем мозг мой отключился, писал как поэму не задумываясь о таких деталях 8) конечно ты прав, а я имел ввиду в тело if, таким образом получается, что мы пройдем по массиву, затирая эллементы
8)
разумеется, еще раз сорри |
| Автор: MasterOfCode 29.4.2008, 20:00 |
| Тема закрыта. |