![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| neomax |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 22.6.2006 Репутация: нет Всего: нет |
Привет
Написал код, очень простой- один клас и несколько методов. Назначил три переменнъх. Проблема в том, что присвоенное значение переменной Х в одном методе не передается той же переменной в следуещем методе. Для ясности такой пример: public class Alabala { int x; public void ButtonClick() { int x=4: } public void ButtonClick2() { x=x+1 } public void ButtonClick3() { message.Text = "x =" + x; } } Результат: x = 0. А надо x = 5 Заранее благодарен. --------------------
Найпопулярніші оголошення здесь - Безкоштовні оголошення |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 93 |
Пользуйся кнопкой Код. Так читать гораздо легче.
Проблема в том, что в ButtonClick() ты объявил локальную перемунную int x и ей присвоил значение 4.
-------------------- Да. Именно так. |
|||
|
||||
| Tror |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 29.4.2005 Где: Кишинёв Репутация: 2 Всего: 4 |
Дрон, а как быть с этим?
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;) |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 93 |
Такого быть не должно (при условии, что ButtonClick2 вызывается до ButtonClick3).
Может ты код здесь не точно привёл или сам что-то не так делаешь -------------------- Да. Именно так. |
|||
|
||||
| Wanderer2019 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 7 Всего: 17 |
чтоб все работало можно попробовать написать так:
Это сообщение отредактировал(а) Wanderer2019 - 3.7.2006, 16:03 |
|||
|
||||
| neomax |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 22.6.2006 Репутация: нет Всего: нет |
Чтоб стало яснее о чем я спрашиваю, немного кода:
Цель - при нажатии кнопки възъвается метод public void Collback, которъй бъ въводил на екран сумму переменнъх. (В данном случае я показал код только с одно переменной) Фактически результат въвода на екран : Сумма 0. Вопрос: как работать со значениями переменнъх когда они находятся в другом методе? --------------------
Найпопулярніші оголошення здесь - Безкоштовні оголошення |
|||
|
||||
| Дрон |
|
||||||||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 93 |
Так, как я и сказал. Строка 50:
Здесь ты объявляешь другую переменную X1. Пиши просто
И ещё. Я бы лучше 59 строку написал вот так:
Хотя там у тебя стиль везде жуткий -------------------- Да. Именно так. |
||||||||
|
|||||||||
| Wanderer2019 |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 7 Всего: 17 |
Че то я вообще не понимаю как такой код может работать
Так.. с поверхности...
X1 - это int... так что
Зздесь:
надо
Это сообщение отредактировал(а) Wanderer2019 - 3.7.2006, 16:36 |
||||||||
|
|||||||||
| neomax |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 22.6.2006 Репутация: нет Всего: нет |
Только часть кода.
Спасибо за комментарии, но вопрос остался для меня не решен. При нажатии кнопочки възъвается метод Collback , которой въдает сумму переменнъх, которъе прописанъ каждая в своем методе, где ей присваивается индивидуальное значение. С присваиванием значений все нормально, проверил!. Но с въводом суммъ не получаается. Въводит : Сумма 0. По моему непрофоссиональному мнению пременнъм в методе Collback не передается ( фактически уже присвоенное) им ранее значение. Если неправильно пояснил, пожалуйста поправте, только начинаю Это сообщение отредактировал(а) neomax - 3.7.2006, 18:14 --------------------
Найпопулярніші оголошення здесь - Безкоштовні оголошення |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 93 |
Тьфу, блин! Это ж ASP.NET Почему тогда тема не в том разделе? Тогда, конечно, не всё так просто. В подробностях объяснять не хочется, но смысл в том, что http это протокол не сохраняющий своего состояния. Т.е. при каждом обращении к странице у тебя создаётся новый объект класса ButtonTest и он, естественно, уже понятия не имеет о том, что в прошлый раз ты присвоил какое-либо значение переменной. Делать надо так:
-------------------- Да. Именно так. |
|||
|
||||
| neomax |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 22.6.2006 Репутация: нет Всего: нет |
Спасибо, Дрон, въручил
Все работает! Вот что я добавил:
Это сообщение отредактировал(а) neomax - 3.7.2006, 19:45 --------------------
Найпопулярніші оголошення здесь - Безкоштовні оголошення |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
По поводу
Ошибок здесь не будет, но результат буден несколько отличный от ожидаемого. Если х1=1, х2=2, х3=3, то результатом будет "Сумма123". Вместо ожидаемого "Сумма6" Все очень просто, вычисление выражения происходит слева на право. Вот и получается: 1 действие. "Сумма" + 1 = "Сумма1" 2-е. "Сумма1" + 2 = "Сумма12" .... Чтобы все было как ожидается нужно, как уже говорили, написать скобки. А еще лучше использовать Метод ToString(), а не поручать компилятору разбираться в том что ты хотел этой строчкой сделать. Ваши мнения могут не совпасть |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |