C#3新增语法特性
C#3,.Net Framework 3.5 ,Visual Studio 2008, CLR 3.0
C#3.0新引进的语法基于.Net Framework 3.5。主要引进的语法:Linq,隐式类型局部变量,匿名类型,对象和集合的初始化器,自动属性,扩展方法,查询表达式,Lamda表达式,表达式树,部分方法。
其中最重要的当属Linq
1、Linq
1 public void TestLinq()
2 {
3 List<string> nameList = new List<string>() {
4 "Jim","Lily","Tim","Lucy","John","Jobs"
5 };
6 List<string> lNameList = new List<string>();
7 #region 以下为非linq查询nameList中以L开头的名字
8
9 foreach (string nameItem in nameList)
10 {
11 if (nameItem.StartsWith("L"))
12 {
13 lNameList.Add(nameItem);
14 }
15 }
16 #endregion
17 #region 使用linq+
18 IEnumerable<string> tmpNameList = from n in lNameList
19 where n.StartsWith("L")
20 select n;
21
22 #endregion
23 }
2、隐式类型局部变量,就是引入了关键字var,其只能定义在方法体中作为局部变量,并且在定义时初始化,其实已经确定了类型。
var dateString = "1900-1-1";
3、匿名类型,也类似于隐式类型局部变量,用var关键字定义
var varClass=new{name="john",Code="J0001"};
4、对象与属性的初始化器
EmployEntity emp = new EmployEntity()
{
EmpCode = "J0001",
EmpName = "John",
EmpId = 1,
};
5、自动属性
public string UserName { get; set; }
6、扩展方法
7、查询表达式
8、Lamda表达式
9、表达式树
10、部分方法
C#3新增语法特性的更多相关文章
- C# 2 新增语法特性
C# 2.0 ,.NET Framework 2.0,.NET Framework 3.0,Visual Studio 2005 C#2主要添加了泛型.匿名方法,分部类型(类.结构.接口),可空类型, ...
- 总结常见的ES6新语法特性
前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...
- 总结常见的ES6新语法特性。
前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...
- 关于Java 8新引入语法特性的简要说明
Java 8在语法上的主要改进就是新增了Lambda Expression以及Method Reference.由于官方网站的介绍稍显罗嗦,而且例子也有些复杂.我这里将提供一些更为浅显.直观的例子来帮 ...
- 面向对象编程-终结篇 es6新增语法
各位,各位,终于把js完成了一个段落了,这次的章节一过我还没确定下面要学的内容可能是vue也可能是前后端交互,但无论是哪个都挺兴奋的,因为面临着终于可以做点看得过去的大点的案例项目了,先憋住激动地情绪 ...
- [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性
回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...
- C++11中对类(class)新增的特性
C++11中对类(class)新增的特性 default/delete 控制默认函数 在我们没有显式定义类的复制构造函数和赋值操作符的情况下,编译器会为我们生成默认的这两个函数: 默认的赋值函数以内存 ...
- C#新语法特性前瞻
今天逛微软的UserVoice site发现了几个有很有用,也很可能被添加到新版C#中的语法,当然也可能被推迟到下一版,拿出来给大家分享一下. 另外还没投票的可以去为自己最想要的新特性投票,有兴趣的可 ...
- 自己动手为PHP7添加新的语法特性
好文章! nikic介绍了如何向PHP添加新的语法特性,原文写的非常精彩,具体是添加in语法功能,使最终实现: <?php $words = ['hello', 'world', 'foo', ...
随机推荐
- windows10 热点一直显示正在断开中
解决方法: Windows+x,打开"windows Powershell(管理员),执行以下命令:netsh winsock reset 重启电脑,就OK了
- matlab中figure创建图窗窗口
来源:https://ww2.mathworks.cn/help/matlab/ref/figure.html?searchHighlight=figure&s_tid=doc_srchtit ...
- 【题解】SAC E#1 - 一道难题 Tree
Problem is here \(\text{Solution:}\) 首先,一眼看出这是最小割,只要叶子节点对汇点\(T\)连接流量为\(inf\)的边就可以一遍最大流搞定了. 剩下的问题在于,如 ...
- Linux配置Docker
Centos6.8 1.查看自己的内核 [1].uname [root@host79 ~]# uname -r 2.6.32-642.el6.x86_64 [2].查看CentOS版本信息 CentO ...
- 磁盘 IOPS(每秒读写次数) 的计算方法
一.磁盘 I/O 的概念 I/O 的概念,从字义来理解就是输入输出.操作系统从上层到底层,各个层次之间均存在 I/O.比如,CPU 有 I/O,内存有 I/O, VMM 有 I/O, 底层磁盘上也有 ...
- k8s- centos7.8搭建
vmware16.0 centos7.8 1. 使用vmware安装 centos环境 cpu4个 内存4G 网络nat模式 2.配置网络 vim /etc/sysconfig/network-sc ...
- 使用C++标准库cout输出枚举类型
由于枚举类型呢,是属于一种标签类型,所以在使用std::cout输出的时候,会导致无法匹配数据类型而导致cout函数失败. 这里给的建议呢就是在想要输出的时候,将枚举类型转换为数据类型就可以啦. 如: ...
- django—路由相关
django不同版本的路由配置 django 2之前,配置urlpatterns使用的是url方法 django 2之后,配置urlpatterns使用的是path方法 path与url的区别: ur ...
- 一篇文章 图解Python 玩转Python
0 Python 解释器:1.Python数据结构:2.变量与运算符3 Python 流程控制 4 Python 文件处理5 python 输入输出6 Python 异常7 Python 函数和模块8 ...
- deployer服务器端的配置
虽然说是无侵入的部署工具,但是还是需要我们来做一些微小的配置的,因为出于安全考虑,我们一般不会开发 root 用户的 SSH 登录,而是使用其它用户,比如 Ubuntu 默认的 ubuntu 用户.我 ...