Linq中用var接收数据

在Linq写法的查询当中 我们时常需要定义一个数据类型来接收数据

怎么定义数据类型也是有学问的
数据类型也不能乱用 那么用Linq来接收数据类型有一个小技巧 那就是利用var来接收

C#匿名类型使用关键字var声明 并使用new关键字初始化一个匿名类型

我们可以在Linq中用var接收数据变量 这个var类型和我们常用JS中的var类型有点类似但又有点不一样 这个var叫做匿名数据类型

顾名思义 C#中的匿名类型是没有名称的类型 或者你可以在不定义它们的情况下创建新的类型

它是一个临时数据类型 基于对象初始化器中的数据来推断
或者换句话说 匿名类型提供了一种有效的方法 可以将一组只读对象组合到一个对象中,而不需要显示定义这个数据类型

匿名类型的类型由编译器根据分配给其属性的值自动生成

这个匿名数据类型可以把任何数据类型往里面扔
也就是说C#的所有数据类型都可以往里面扔 这个就和JS里面很类似
但是它又不是弱数据类型 为什么呢?它在编译的时候 C#是会把它翻译成具体的数据类型 比如它是int类型的 例如这样

在这里插入图片描述

如果是这样它是不是就是int类型 它编译的时候就会自动帮你改成int 它会自动把var替换成这个i变量应有的类型

在这里插入图片描述

它只是个匿名数据类型而已 匿名的
只是我们看不到数据类型而已

这一个数据类型不建议我们大家在平时使用
最好只在Linq中使用 声明整数该是int还是int 该是字符串还是字符串 我们的数据该是什么类型就写成什么类型 不要全部写成var 虽然都没错
但是方便我们阅读代码 不好判断它的数据类型

一定不要所有的数据类型都使用var 虽然写着是简单 都不用考虑数据类型了 但是也不利于我们代码的查看 往后要修改代码的时候也会比较的麻烦 所以只建议大家在linq中使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值