C#中的var理解
Posted dotNET跨平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中的var理解相关的知识,希望对你有一定的参考价值。
从 C# 3.0 开始,在方法范围内声明的变量可以具有隐式“类型”var。隐式类型本地变量为强类型,就像用户已经自行声明该类型,但编译器决定类型一样。i 的以下两个声明在功能上是等效的:
var i = 10;
int i = 10;
var 关键字的常见用途是用于构造函数调用表达式。使用 var则不能在变量声明和对象实例化中重复类型名称
var xs = new List<int>();
从 C# 9.0 开始,可以使用由目标确定类型的 表达式作为替代方法:
List<int> xs = new();
List<int>? ys = new();
在模式匹配中,在 var中使用 var 关键字。
var 的使用是允许的,但不是必需的,因为查询结果的类型可以明确表述为 IEnumerable。
string[] words = "apple", "strawberry", "grape", "peach", "banana" ;
var wordQuery = from word in words
where word[0] == 'g'
select word;
foreach (string s in wordQuery)
Console.WriteLine(s);
var 允许结果是一系列匿名类型,且相应类型的名称只可供编译器本身访问。如果使用 var,便无法为结果新建类。
var custQuery = from cust in customers
where cust.City == "Phoenix"
select new cust.Name, cust.Phone ;
foreach (var item in custQuery)
Console.WriteLine("Name=0, Phone=1", item.Name, item.Phone);
以上是关于C#中的var理解的主要内容,如果未能解决你的问题,请参考以下文章