var 在linq中的使用
一:掌握linq,写出超炫的代码
1. var关键字 【隐式类型】
隐式类型 和 匿名类型的不同叫法。
特性 和 属性
2.隐式类型 就是让编译器来推断的一种语法糖。
二:隐式类型的应用场景
1. 简单类型
int i = 10; string str = "123";
var j = 10; var str2 = "123";
2. 复杂类型
《1》数组:
//原来
int[] nums = new int[] { 10, 20, 30 };
var num2 = new int[] { 10, 20, 30 };
《2》 类
Word word = new Word();
var word2 = new Word();
3. 逻辑语句
《1》 for/foreach
for (int i = 0; i < 10; i++) { }
for (var i = 0; i < 10; i++) { }
int[] nums = new int[] { };
foreach (var num in nums)
{
}
《2》 using
using (var sql = new SqlConnection(string.Empty))
{
}
三:var的好处是什么呢?
编译器让我们更加的专注于业务逻辑,不让你在类型的判断上费脑经。
【匿名类型】 => 因为是匿名,所以我们不知道类型的名字,所以我们只能用var来隐式定义。
如果你定义的匿名类型,你的var是被迫使用的,而不是你主管愿意这么用。
编译器伪装的给你一个‘a的类型,其实这个类名是个虚像,真正的类名是编译器动态+随机生成。
四:var的局限
它只能在方法的内部使用,不能作为类的属性。
隐式类型定义的时候就要赋值。【因为编译器需要根据表达式的右侧的值推断出
正确的类型】
编译器显示的类名:'<>f__AnonymousType0`2'<'<Name>j__TPar','<Age>j__TPar'>
五:ILDASM
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools 是Microsoft SDK里面自带的。
这个是微软给我们带的小工具。
var 在linq中的使用的更多相关文章
- Entity Framework 6 Recipes 2nd Edition(11-9)译 -> 在LINQ中使用规范函数
11-9. 在LINQ中使用规范函数 问题 想在一个LINQ查询中使用规范函数 解决方案 假设我们已经有一个影片租赁(MovieRental )实体,它保存某个影片什么时候租出及还回来,以及滞纳金等, ...
- Entity Framework 6 Recipes 2nd Edition(11-11)译 -> 在LINQ中调用数据库函数
11-11. 在LINQ中调用数据库函数 问题 相要在一个LINQ 查询中调用数据库函数. 解决方案 假设有一个任命(Appointment )实体模型,如Figure 11-11.所示, 我们想要查 ...
- Linq中关键字的作用及用法
Linq中关键字的作用及用法 1.All:确定序列中的所有元素是否都满足条件.如果源序列中的每个元素都通过指定谓词中的测试,或者序列为空,则为 true:否则为 false. Demo: 此示例使用 ...
- Linq 中按照多个值进行分组(GroupBy)
Linq 中按照多个值进行分组(GroupBy) .GroupBy(x => new { x.Age, x.Sex }) group emp by new { emp.Age, emp.Sex ...
- LINQ中的一些查询语句格式
LINQ的基本格式如下所示:var <变量> = from <项目> in <数据源> where <表达式> orderby <表达式> ...
- Linq 中查询一个表中指定的字段
//Linq中查询一个表中指定的几个字段: ); // FindAllItems()为查询对应表的所有数据的方法: // Where 里面为查询条件 // Select 为查询的筛选条件 new{} ...
- linq中AsEnumerable和AsQueryable的区别
本文导读:用Linq来操作集合的时候会用到AsQueryable()和AsEnumerable(),何时该用AsQueryable()和何时该用AsEnumerable(),或许存在些疑惑.AsQue ...
- Linq中使用Left Join
use Test Create table Student( ID ,) primary key, ) not null ) Create Table Book( ID ,) primary key, ...
- 基础才是重中之重~理解linq中的groupby
linq将大部分SQL语句进行了封装,这使得它们更加面向对象了,对于开发者来说,这是一件好事,下面我从基础层面来说一下GroupBy在LINQ中的使用. 对GroupBy的多字段分组,可以看我的这篇文 ...
随机推荐
- 启动Eclipse之后,关闭Maven自动更新
问题描述: 因为架包的修改,所以Maven需要更新,一启动Eclipse之后,自动更新,由于Maven的架包很多download不下来,就一直卡着的样子,很长时间,什么都做不了. 解决办法: Ecli ...
- Linux HDD information (SATA/SCSI/SAS/SSD)
举例一: [reistlin@reistlin.com ~]$ cat /proc/scsi/scsi | grep Model Vendor: ATA Model: OCZ-VERTEX2 3.5 ...
- ubuntu时区设置
local-gen zh_CN.UTF-8 UTF-8 /var/lib/locales/supported.d/local可以看到如下内容: zh_CN.UTF-8 UTF-8 en_US.UTF- ...
- delphichromiumembedded
Delphi封装的google浏览器内核,使用他可以摆脱ie内核的webbrowser的种种限制 http://download.csdn.net/download/ozhy111/5904995 屏 ...
- 关于c3p0 ResourcePoolException: Attempted to use a closed or broken resource pool
转自:https://blog.csdn.net/u011404265/article/details/52848603 springmvc-servlet.xml加入 <property na ...
- vue -Missing space before value for key 'path'vue.js解决空格报错
webpack.base.config.js文件注释掉下面的东西!! module: { rules: [ /*{ test: /\.(js|vue)$/, lo ...
- STL源码剖析之空间配置器
本文大致对STL中的空间配置器进行一个简单的讲解,由于只是一篇博客类型的文章,无法将源码表现到面面俱到,所以真正感兴趣的码农们可以从源码中或者<STL源码剖析>仔细了解一下. 1,为什么S ...
- JAVA用email.jar发送邮件
1 jar包 email.jar包,网上下载 2 源代码 package zjr.amy.emil.test; import java.util.Date; import java.util.Prop ...
- 刷题向》一道简单的思路题BZOJ1800(EASY+)
这道题其实并不难,主要原因是数据范围很小,当然数据如果大来也可以优化,但重点是在做的时候用的思路很通用, 所以本题是一道思想题(当然思想也不难) 标题里的“+”体现在一些边界处理中. 直接甩题目 De ...
- 远程连接MySQL数据库报错:is not allowed to connect to this MYSQL server的解决办法
1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 " ...