почему я не могу объявить, например, var myVar = "myvariable" как глобальную переменную в классе? Есть ли способ сделать это?
почему я не могу объявить, например, var myVar = "myvariable" как глобальную переменную в классе?.
Потому что именно так разработчики языка C # решили реализовать его.
Есть ли способ сделать это?.
Нет, нет.
Начиная с Visual C # 3.0, переменные, объявленные в методе область действия может иметь неявный тип var
Из-за спецификации C # они находятся только в области действия метода.
Нет, var только для локальных переменных.Смотри это
Я думаю, вы ищете статическую переменную.
Например,
public class AGlobalVar { public static int AVar = 10; }
Вы должны иметь доступ к переменной в любом месте приложения.Чтобы получить к нему доступ просто перейдите AGlobalVar.AVariable.
Неявный тип может быть помещен в область видимости метода только как локальная переменная.
var - ключевое слово, обычно используемое для анонимных типов.Затем, объявив поле или глобальную переменную, вы должны явно установить реальный тип для вашего поля.
var
Из MSDN:
var может использоваться только тогда, когда локальная переменная объявлена и инициализирована в том же операторе;переменная не может быть инициализирована значением NULL или группой методов или анонимной функцией. var нельзя использовать в полях в области видимости класса. Переменные, объявленные с помощью var, нельзя использовать в выражении инициализации.Другими словами, это выражение является законным: int i = (i = 20);но это выражение вызывает ошибку времени компиляции: var i = (i = 20); Несколько переменных с неявным типом не могут быть инициализированы в одном выражении. Если тип с именем var находится в области видимости, ключевое слово var будет преобразовано в это имя типа и не будет рассматриваться как часть неявно типизированного объявления локальной переменной.
var может использоваться только тогда, когда локальная переменная объявлена и инициализирована в том же операторе;переменная не может быть инициализирована значением NULL или группой методов или анонимной функцией.
var нельзя использовать в полях в области видимости класса.
Переменные, объявленные с помощью var, нельзя использовать в выражении инициализации.Другими словами, это выражение является законным: int i = (i = 20);но это выражение вызывает ошибку времени компиляции: var i = (i = 20);
int i = (i = 20)
var i = (i = 20)
Несколько переменных с неявным типом не могут быть инициализированы в одном выражении.
Если тип с именем var находится в области видимости, ключевое слово var будет преобразовано в это имя типа и не будет рассматриваться как часть неявно типизированного объявления локальной переменной.
Смотри также: Мнение Эрика Липперта