c#中var和string的区别是什么?

本文关键字:区别 是什么 string var | 更新日期: 2023-09-27 18:15:36

c#中varstring的区别是什么?

c#中var和string的区别是什么?

关键字var用于隐式类型的声明。如果您为变量使用命名类型,那么除了可读性之外就没有其他区别了(对于哪一种更好也有不同的看法)。例子:

var s = "asdf";

给出与

完全相同的结果:
string s = "asdf";

但是,如果您有一个未命名的类型,您必须使用var来声明一个具有该类型的变量。例子:

var o = new { s = "asdf" };

没有使用命名类型的相应声明,因为创建的对象的类型没有名称。

var关键字通常用于LINQ和LINQ扩展方法,当结果没有命名类型时。例子:

var result = someList.Where(x => x.Age < 10).Select(x => new { name = x.Name });

var是隐式类型,string是显式类型,但这两个声明在功能上是等价的

var implicitString = "hello";
string explicitString = "hello";

只有在方法作用域中声明的变量可以具有隐式类型var。使用时,编译器从赋值的右侧推断类型

首先,这些是c#关键字,不是ASP.NET。

string是一个类型——一个显式类型,基本上被编译器替换为System.String

var是一个代表类型的关键字——当编译器可以判断变量的类型应该是什么时(比如从函数的返回类型或字面量)。如果你使用的是字符串,编译器会做和上面一样的替换。

Var用于声明隐式类型变量,编译器会自动识别该类型。Var可以保存任何类型的数据。String是一个仅保存字符串数据的显式声明。

var i=5; 
var a="abcd"; 
var b= 5.5555; 
var c=new class(); 

String s = "ABCD";

var和string之间没有合法的比较。

var用于声明隐式类型,如int、string、double、object等。当你不确切地知道一个方法的返回类型或者你根本不关心它的时候,它是很有用的。

'string'是一种特殊的数据类型,它只能保存字符串数据,而不能保存任何类型的数据。

对于var类型,必须在声明var变量时定义,即仅在编译时定义,否则编译器将标记编译时错误。因此,

string abc;

是可能的,但是

var abc;

在VB中没有实际的区别。. NET,有另一个讨论与更多信息