c#中var的⽤法
⼀、VAR 是3.5新出的⼀个定义的,其实也就是弱化类型的定义,VAR可代替任何类型,编译器会根据来判断你到底是想⽤什么类型的。⼆、⾄于下⽤到VAR 我想就是你⽆法确定⾃⼰将⽤的是什么类型,就可以使⽤VAR 类似 OBJECT,但是效率⽐OBJECT⾼点。
三、使⽤var定义变量时有四个特点:
1. 必须在定义时。也就是必须是var s = “abcd”形式,⽽不能是如下形式:
var s;
s = “abcd”;
2. ⼀但初始化完成,就不能再给变量赋与初始化不同的值了。
3. var要求是。
4. 使⽤var定义变量和object不同,它在效率上和使⽤⽅式定义变量完全⼀样。
四、var 关键字的常见⽤途是⽤于构造函数调⽤表达式。
1.使⽤var则不能在变量声明和对象实例化中重复类型名称,如下⾯的⽰例所⽰:
var xs = new List<int>();
2.从 C# 9.0 开始,可以使⽤由⽬标确定类型的作为替代⽅法:
List<int> xs = new();
List<int>? ys = new();
3.下⾯的⽰例演⽰两个查询表达式。在第⼀个表达式中,var的使⽤是允许的,但不是必需的,因为查询结果的类型可以明确表述
为IEnumerable<string>。不过,在第⼆个表达式中,var允许结果是⼀系列匿名类型,且相应类型的名称只可供编译器本⾝访问。如果使
⽤var,便⽆法为结果新建类。请注意,在⽰例 #2 中,foreach迭代变量item必须也为隐式类型。
// Example #1: var is optional when
// the select clause specifies a string
string[] words = { "apple", "strawberry", "grape", "peach", "banana" };
writeline方法属于类var wordQuery = from word in words
where word[0] == 'g'
select word;
// Because each element in the sequence is a string,
// not an anonymous type, var is optional here also.
foreach (string s in wordQuery)
{
Console.WriteLine(s);
}
// Example #2: var is required because
/
/ the select clause specifies an anonymous type
var custQuery = from cust in customers
where cust.City == "Phoenix"
select new { cust.Name, cust.Phone };
// var must be used because each item
// in the sequence is an anonymous type
foreach (var item in custQuery)
{
Console.WriteLine("Name={0}, Phone={1}", item.Name, item.Phone);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论