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的多字段分组,可以看我的这篇文 ...
随机推荐
- 19_java之List和Set
01List接口的特点 A:List接口的特点: a:它是一个元素存取有序的集合. 例如,存元素的顺序是11.22.33.那么集合中,元素的存储就是按照11.22.33的顺序完成的). b:它是一 ...
- ansible初识三
一.setup模块 ansible的 setup模块主要用来收集信息, 查看参数: [root@localhost ~]# ansible-doc -s setup # 查看参数,部分参数如下: fi ...
- LR11直接对数据库访问操作方法在性能测试中的应用总结
项目背景概述 某测试项目,该项目的接口测试需要大量的订单,并且需要订单的状态是已确认客户的订单,大量的订单可以通过下单接口直接造订单数据,但下的订单要人工在后台页面处理到已确认客户的状态才可以使用这些 ...
- POI-Excel表格导入和导出
ExcelWriter /** * @author zuzhilong * @date 2013-10-10 下午08:04:02 * @desc 生成导出Excel文件对象 * @modify * ...
- (转) Linux下Setuid命令!
在Linux系统中每个普通用户都可以更改自己的密码,这是合理的设置. 问题是:用户的信息保存在文件/etc/passwd中,用户的密码保存在文件/etc/shadow中,也就是说用户更改自己密码时是修 ...
- MyBatis 学习记录6 TypeHandler
主题 因为对MyBatis在JDBC数据和Java对象之间数据转化比较感兴趣,所以就记录并学习一下TypeHandler. 使用场景 如上图所示,观察下接口方法就能明白.TypeHandler主要用于 ...
- Keepalived 资源监控
简介: 作为一个高可用集群软件,Keepalived 没有 Heartbeat .RHCS 等专业的高可用集群软件功能强大,它不能够实现集群资源的托管,也不能实现对集群中运行服务的监控,好在 Keep ...
- firebug,chrome调试工具的使用
http://ued.taobao.org/blog/?p=5534 chrome调试 http://www.cnblogs.com/QLeelulu/archive/2011/08/28/2156 ...
- 前端开发之JavaScript基础篇四
主要内容: 1.定时器 2.正则表达式入门 3.元字符 4.正则表达式实战运用 一.定时器 javaScript里主要使用两种定时器,分别是:setInterval()和setTimeout(). 1 ...
- VUE+WebPack游戏设计:欲望都市城市图层的设计