C#中的对象和var差异

sta*_*st2 4 c# variables var object

object和之间有什么区别var

dec*_*one 7

  • var - 未明确指定类型.让编译器弄清楚那种类型是什么.
    • 类型在设计时固定,不能引用其他类型的对象.
    • 正如Pauli评论中所述,你得到了intelliSense.
    • 必须初始化.var i;不会编译.
    • 不能用作方法的返回类型.
    • 必须是局部变量.不是领域或财产.
    • 非常适合Anonymous Types.你得到intelliSense.
  • object- System.Object.
    • 可用于在运行时引用任何类型.
    • 在这里你没有得到intelliSense.

例:

var i = 0; // i is of type `System.Int32`.  Same as "int i = 0;"
i = "Some String"; // Compile time error.

object o = 0;  
o = "Some String"; // Works
Run Code Online (Sandbox Code Playgroud)