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 特性 – 终极手册,我还是坚持自己 ...
随机推荐
- -_-#【jQuery】data
.data() <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...
- 什么是左值(what is a lvalue)?
引用并翻译自<C++ premier plus> 左值是可以通过地址引用的数据对象(data object),例如,变量,数组的元素,结构体的成员,引用变量,以及复引用的指针(defere ...
- SANSA 上上洛可可 贾伟作品 高山流水 香炉 香插香台香具 高端商务礼品 黑色【正品 价格 图片 折扣 评论】_尚品网ShangPin.com
SANSA 上上洛可可 贾伟作品 高山流水 香炉 香插香台香具 高端商务礼品 黑色[正品 价格 图片 折扣 评论]_尚品网ShangPin.com
- python 发送邮件例子
想到用python发送邮件 主要是服务器 有时候会产生coredump文件 ,然后因为脚本重启原因,服务器coredump产生后会重启 但是没有主动通知开发人员 想了下可以写个脚本一旦产生cored ...
- HAProxy、Nginx 配置 HTTP/2 完整指南
基于最近对HTTP/2的争论和它的优势,是时候升级底层架构了.这篇文章将会介绍如何在安装和配置HAProxy和Ngnix(使用ssl终端).为了简化流程,我建议你准备好使用Docker镜像. 如果你想 ...
- 什么是method swizzling
其实跟字面的意思很相近.方法的调和.可以去修改oc中两个方法的调用. 这张图看起来会比较形象 20130718230430859.png 就是把两个实现调换具体的做法,首先,用Categroy建立自己 ...
- VC++ 动态检测串口的热插拔(一)通过注册表实现
在上一篇文章中讲述了如何通过循环遍历的方法获取可用串口,可是这样的方法过于暴力,难免会想有没有其他的办法那,嘿嘿,那是肯定会有的,不管什么问题,解决问题的方法永远都不止一种.下面讲述如何通过注册表来获 ...
- myeclipse 闪退解决方法
今天提交一个svn文件发生卡死,然后关闭myeclipse后发生,打开myeclipse出险闪退,摸索半天,发现: 只要修改下工作空间的名称,然后打开myeclipse重新导入即可,只是之前的配置都没 ...
- ruby 安装 运行
Ruby基础 一 简介 1.Ruby在windows平台下的安装 (1)下载地址:http://rubyinstaller.org/downloads/ (2)安装过程 这里我们选择安装路径为 D:\ ...
- PHP学习之[第07讲]PHP5.4 文件操作函数 之 图片计数器的实例
1.filetype():输出文件类型: 2.stat():获取文件的基本属性的数组: 3.clearstatcache().is_executable().isDir().idFile().scan ...