“var”在C#中的含义是什么?

可能重复:
在C#中使用var关键字

在C#中,关键字“ var ”是如何工作的?


这意味着声明的本地类型将由编译器推断出来:

// This statement:
var foo = "bar";
// Is equivalent to this statement:
string foo = "bar";

值得注意的是, var没有将变量定义为动态类型。 所以这是不合法的:

var foo = "bar";
foo = 1; // Compiler error, the foo variable holds strings, not ints

var只有两个用途:

  • 它需要更少的键入来声明变量,尤其是在将变量声明为嵌套泛型类型时。
  • 在存储对匿名类型的对象的引用时必须使用它,因为无法预先知道类型名称: var foo = new { Bar = "bar" };
  • 您不能使用var作为除本地人以外的任何类型。 所以你不能使用关键字var来声明字段/属性/参数/返回类型。


    这意味着数据类型是从上下文派生(暗示)的。

    从http://msdn.microsoft.com/en-us/library/bb383973.aspx

    从Visual C#3.0开始,在方法范围声明的变量可以有一个隐式类型var。 一个隐式类型的局部变量是强类型的,就像你自己声明了类型一样,但是编译器决定了类型。 我的以下两个声明在功能上是等效的:

    var i = 10; // implicitly typed
    int i = 10; //explicitly typed
    

    var用于消除键盘输入和视觉噪声,例如,

    MyReallyReallyLongClassName x = new MyReallyReallyLongClassName();
    

    var x = new MyReallyReallyLongClassName();
    

    但可以过度使用,以牺牲可读性。


    “var”表示编译器将根据使用情况确定变量的显式类型。 例如,

    var myVar = new Connection();
    

    会给你一个Connection类型的变量。

    链接地址: http://www.djcxy.com/p/53795.html

    上一篇: What does "var" mean in C#?

    下一篇: implementing IDictionary interface in vb.net