C#语言的新特性及相关信息
.ENT版本
NET 2.0 :CLR, WinForms ,Wed Services,ASP.NET
NET 3.0 :WCF,WF,WPF,CardSpace
NET 3.5 :LINQ ,AJAX,REST
.NET版本及开发工具和语言
2002 | 2003 | 2005 | Studio | 2008 | |
开发工具 | Visual Studio 2002 | Visual Studio 2003 | Visual Studio 2005 | Visual Studio 2005+扩展 | Visual Studio 2008 |
语言 | C#1.0 VB.NET(V7.0) | C#1.1 VB.NET(V7.1) | C#2.0 VB.NET(V8.0) | C#1.0 VB.NET(V7.0) | C#1.0 VB.NET(V7.0) |
框架 | .NETFX v1.0 | .NETFX v1.1 | .NETFX v2.0 | .NETFX v3.0 | .NETFX v3.5 |
CLR | CLR v1.0 | CLR v1.1 | CLR v2.0 | CLR v2.0 | CLR v2.0 |
C#新特性
自动属性个属性访问器的保护级别
class Test1
{
Private int_id;
public int_id
{
get{ return_id;}
set{ _id=value;}
}
//访问器带有保护级别的自动属性
public int ID{get;set;}
}
可空类型
值类型变量为"null",C#语言以前只有引用类型才可以赋值为"null"
System.Nullble<T>结构体成员
名称 说明
构造函数
Nullable<T> 初始化Nullable<T>结构体并为其制定制方法
Equals 比较跟传入对象是否相等
GetHashCode 返回当前对象值的Hash码
GetType 获取当前实例类型
GetValueOrDefault 获取对象的值或默认值
ToString 以文本符串的形式返回当前对象的值
运算符
Explicit 返回Nullable<T>的值
Implicit 创建NUllable<T>对象,然后给其赋值
属性
HasValue 当前对象是否有值
Vlaue 当前对象的值
泛型
优点:线程安全,不用类型转化.执行速度快.
缺点:H函数或类的通用化问题.
对象和集合初始化器
对象初始化器由一些成员初始化去组成,包含在花括号中间,用逗号分隔.
集合初始化器实现了泛型System.Collections.Generic.ICollections<T>接口,
并且指定了T的类型,那么就可以使用集合初始化器来初始化.
匿名函数
匿名类型一般出现在LINQ的select子句中,用来投影筛选出的数据.
匿名类型创建属性只读的,匿名类型的名称和属性数据类型有编译器随机制定或自动推断.
匿名类型不允许包含除了属性之外成员.
多个匿名函数具有相同的顺序,相同数量个种类的属性成员,编译器会将这些匿名类型视为相同类型,并且他们共享编译器生成的类型信息.
扩展方法
扩展方法是一种建立在非泛型,非嵌套的静态类中特殊的静态方法.
不用继承对象增加方法
在继承关系链中,我们通常继承一个对象之后子类进行拓展方法.
在某此情况下,父类允许继承通过拓展方法来实现,非继承方法的添加.
匿名方法和Lamdba表达式
匿名函数是一种特殊的代理,它把代码体直接关联在代理类型上,而不是常见的关联方法名.
Lamdba表达式让函数执行更加简单.
使用var=>接受Lamdba函数的返回值
Lamdba表达式=>为了匿名函数的更好调用.
C#语言的新特性及相关信息的更多相关文章
- Vue3的新特性及相关的Composition API使用
首先 创建项目 Vue3 Vue3 相较于Vue2 的6大亮点: 1 性能快. 2 按需编译 体积更小 3 提供了组合API 类似于react 的React Hooks 4 更好的Ts支持 5 暴露了 ...
- Java8新特性-日期相关类操作
JDK8以前使用SImpleDateFormate类格式化日期,因为在SImple DateFormate中存在Calendar实例引用,而在caleander中得establish中存在clear( ...
- Java 8新特性终极指南
目录结构 介绍 Java语言的新特性 2.1 Lambdas表达式与Functional接口 2.2 接口的默认与静态方法 2.3 方法引用 2.4 重复注解 2.5 更好的类型推测机制 2.6 扩展 ...
- JAVA8 十大新特性详解
前言: Java8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级.在Java Code Geeks上已经有很多介绍Java 8新特性的文章, 例如Playing with Java ...
- java8新特性全面解析
在Java Code Geeks上有大量的关于Java 8 的教程了,像玩转Java 8--lambda与并发,Java 8 Date Time API 教程: LocalDateTime和在Java ...
- java8 新特性
[转载]:http://www.importnew.com/11908.html 本文由 ImportNew - 刘 家财 翻译自 javacodegeeks.欢迎加入翻译小组.转载请见文末要求. 编 ...
- iOS开发——新特性OC篇&Objective新特性
Objective新特性 Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时, ...
- [转] Java 8的新特性
简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性.在本文中我们将学习这些新特性,并用实际的例子 ...
- Java 8 新特性终极版
声明:本文翻译自Java 8 Features Tutorial – The ULTIMATE Guide,翻译过程中发现并发编程网已经有同学翻译过了:Java 8 特性 – 终极手册,我还是坚持自己 ...
随机推荐
- (转载)提高mysql插入数据的速度
(转载)http://blog.csdn.net/bhq2010/article/details/7376352 需要在mysql中插入2000万条记录,用insert语句插入速度很有限,每秒钟几百条 ...
- 控件treeview使用
一:实现功能,获得选中节点,在选中节点下添加节点,折叠,展开,删除,得到选中节点下checked项,选中根节点其下节点也选中,图标.上图 二:相关代码 using System; using Syst ...
- ACM第六周竞赛题目——A LightOJ 1317
A - A Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Submit Status P ...
- SRM 390(1-250pt)
DIV1 250pt 题意:给定整数n和k,问最少需要多少个n连接在一起形成的新整数t,使得t是k的倍数.如果不能形成倍数,输出-1.k <= 10^5,n <= 10^9. 解法:不断增 ...
- 山东如意路嘉纳高级定制西装品牌惊艳亮相intertextile面料展 - 服装资讯中心 - 华衣网
山东如意路嘉纳高级定制西装品牌惊艳亮相intertextile面料展 - 服装资讯中心 - 华衣网 山东如意路嘉纳高级定制西装品牌惊艳亮相intertextile面料展
- Seek the Name, Seek the Fame - POJ 2752(next运用)
题目大意:小猫是非常有名气的,所以很多父母都来找它给孩子取名字,因为找的人比较多,小猫为了摆脱这个无聊的工作,于是它发明了一种取名字的办法,它把孩子父母的名字合在一起,然后从这个名字里面找一个前缀,并 ...
- java MessageFormat 应用 和 疑惑
先来个demo String string = "{0}\"{1}\""; System.out.println(MessageFormat.format(st ...
- Spring入门一
一 简介 1.Spring为企业应用的开发提供了一个轻量级的解决方案,该解决方案包括:基于依赖注入的核心机制.基于AOP的声明式事务管理.与多种持久层技术 的整合,以及优秀的Web MVC框架等等.可 ...
- CF 19D Points 【线段树+平衡树】
在平面上进行三种操作: 1.add x y:在平面上添加一个点(x,y) 2.remove x y:将平面上的点(x,y)删除 3.find x y:在平面上寻找一个点,使这个点的横坐标大于x,纵坐标 ...
- [转] linux下的c/c++调试器gdb
PS:1. 断点C++类函数,用b 命名空间::类名::方法名 2. 编译参数一定要加-g,才可断点调试 http://www.cnblogs.com/xd502djj/archive/2012/08 ...