| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > Name ... does not exist in the current context |
| Автор: videns 10.3.2010, 16:13 | ||
Есть следующий код:
И в конце вот ругается на то, что переменная var2 не задана в текущем контексте. Хотя она явно задается в первом или втором случае. Можно как-то от этого избавиться? Есть вариант задавать вначале переменную, и потом уже ее изменять. Но если я не задаю явно тип переменной, а использую обозначение через var, то такой вариант не работает, т.к. ее надо явно инициализировать. |
| Автор: CYBERDREAM 10.3.2010, 16:28 | ||
ты хочешь вызывать из более высокого уровня.
|
| Автор: Экскалупатор 10.3.2010, 21:31 |
| videns, а почему нельзя объявить переменную нормально? а не VAR? |
| Автор: Kanes 11.3.2010, 00:40 |
| А это побочное влияние синтаксического сахара в С# |
| Автор: KelTron 11.3.2010, 07:51 | ||||
Если уж так приспичило, можно сделать так:
или так:
Но это не тот случай, когда целесообразно использовать var |
| Автор: Экскалупатор 11.3.2010, 08:39 |
| У автора две проблемы. 1. отсутствие понимания про видимость переменных. 2. явные проблемы с var(или явное не знание остальных типов). если понятно, что это строка, то надо написать сразу, что это строка. если все время писать var, то потом код читать вообще становиться не реально. везде одни эти var`ы и пока в них разберешься... то проще переписать все заново... в связи с этим можно посоветовать почитать первые пару глав любого учебника/справочника по C#. Добавлено через 1 минуту и 21 секунду з.ы. готов поспорить что var1 тоже объявлен ка var. |
| Автор: mrbrooks 11.3.2010, 08:46 |
| Более того сравнивать строки через оператор == не кошерно. |
| Автор: videns 11.3.2010, 09:11 | ||
Объявление var2 как строку привел только для примера. В действительности использую для Linq to SQL.
Решил действительно объявить переменную вначале: IEnumerable<Table1> var2; И после этого уже ее менять. Спасибо за помощь! |
| Автор: mrbrooks 11.3.2010, 09:13 |
это камрад надо было в самом начале писать. Выглядело все не так очевидно. |