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理解的主要内容,如果未能解决你的问题,请参考以下文章

使用 C# 中的方法更改另一个范围内的变量值

白话JS作用域,作用域,作用链详解

C#和 JS的闭包

C# 中的var关键字

html ANGULAR - 所有范围内的var

Alteryx:从字符串中的范围创建多行