声明var外部函数

时间:2011-07-20 19:30:48

标签: c# c#-4.0

为什么我不能将例如var myVar =“myvariable”声明为类中的全局变量?有什么办法吗?

6 个答案:

答案 0 :(得分:9)

  

为什么我不能将例如var myVar =“myvariable”声明为类中的全局变量?

因为这就是designers of the C# language决定实施它的方式。

  

有没有办法做到这一点?。

不,没有。

答案 1 :(得分:3)

  

从Visual C#3.0开始,在方法中声明的变量   scope可以具有隐式类型var

由于C#规范,它们只是在方法范围内。

答案 2 :(得分:1)

不,var仅适用于本地范围的变量。见this

答案 3 :(得分:0)

var是一个关键字,通常用于匿名类型。 然后声明字段或全局变量,您必须明确设置字段的实际类型。

From MSDN:

  
      
  • var只能在声明局部变量时使用   在同一声明中初始化;变量无法初始化   null,或方法组或匿名函数。

  •   
  • var不能用于类范围的字段。

  •   
  • 使用var声明的变量不能用于   初始化表达式换句话说,这个表达是合法的:   int i = (i = 20);但是这个表达式会产生编译时错误:   var i = (i = 20);

  •   
  • 无法初始化多个隐式类型变量   同样的陈述。

  •   
  • 如果名为var的类型在范围内,则var关键字将解析   到该类型名称,不会被隐含地视为一部分   键入局部变量声明。

  •   

另见: Eric Lippert opinion

答案 4 :(得分:0)

隐式类型只能作为局部变量放在方法范围内。

答案 5 :(得分:0)

我认为你正在寻找一个静态变量。

例如

    public class AGlobalVar 
{ 
    public static int AVar = 10; 

}

您应该能够在应用程序的任何位置访问变量。要访问它,只需去AGlobalVar.AVariable。