Linq中怎么实现隐式类型化局部变量

本篇文章为大家展示了Linq中怎么实现隐式类型化局部变量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

成都创新互联公司于2013年创立,是专业互联网技术服务公司,拥有项目成都网站建设、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元绍兴做网站,已为上家服务,为绍兴各地企业和个人服务,联系电话:18980820575

Linq隐式类型化局部变量

还有另一种语言功能被称为Linq隐式类型化局部变量(或简称为 var),它负责指示编译器推断局部变量的类型。例如:

var integer = 1;

在此例中,整数具有 int 类型。请务必明白,这仍然是强类型。在动态语言中,整数的类型可在以后更改。为说明这一点,以下代码不会成功编译:

var integer = 1;  integer = “hello”;

C# 编译器将报告第二行的错误,表明无法将字符串隐式转换为 int。在上述查询示例中,我们现在可以编写完整的赋值,如下所示:

  1. var locals = customers.Where(c => c.ZipCode == 91822).Select(c => new { 
    FullName = c.FirstName + “ “ +c.LastName, HomeAddress = c.Address });  

局部变量的类型最终成为 IEnumerable,其中“?”是无法编写的类型的名称(因为它是匿名的)。

Linq隐式类型化局部变量只是:方法内部的局部变量。它们无法超出方法、属性、索引器或其他块的边界,因为该类型无法显式声明,而且“var”对于字段或参数类型而言是非法的。

事实证明,Linq隐式类型化局部变量在查询的环境之外非常便利。例如,它有助于简化复杂的通用实例化:

var customerListLookup = new Dictionary>();

现在我们的查询取得了良好进展;我们已经接近理想的语法,而且我们是用通用语言功能来达成的。有趣的是,我们发现,随着越来越多的人使用过此语法,经常会出现允许投影超越方法边界的需求。如我们以前所看到的,这是可能的,只要从 Select 内部调用对象的构造函数来构建对象即可。

上述内容就是Linq中怎么实现隐式类型化局部变量,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


标题名称:Linq中怎么实现隐式类型化局部变量
本文地址:http://scyanting.com/article/jdshoe.html