What’s New in C# 3.0

  Language Integrated Query(LINQ)

- LINQ enables queries to be written in C# program to query both local collections
      (such as lists or XML documents) or remote data sources (such as a database)

Implicitly typed local variables

-  let you omit the variable type in a declaration statement, allowing the compiler to infer it

Object initializers

- simplify object construction by allowing properties to be set inline after the constructor call

Lambda expressions

- miniature functions created by the compiler on the fly, and are particularly useful in “fluent” LINQ queries

Extension methods

- extend an existing type with new methods, making static methods feel like instance methods

Query expressions

- provide a higher-level syntax for writing LINQ queries that can be substantially simpler when working

with multiple sequences or range
       variables

Expression trees

- miniature code DOMs that describe lambda expressions assigned to the

special type Expression<TDelegate>

Expression trees make it possible for LINQ queries to execute remotely

Automatic properties

- cut the work in writing properties that simply get/set a private backing field by having the compiler do that work automatically

Partial methods

- let an auto-generated partial class provide customizable hooks for manual authoring which “melt away” if unused

What’s New in C# 4.0

   Dynamic binding

- defers binding

Optional parameters

- allow functions to specify default parameter values so that callers can omit arguments and named arguments

allow a function caller to identify an argument by name rather than position

Type variance rules

- type parameters in generic interfaces and generic delegates can be marked as covariant or
        contravariant, allowing more natural type conversions

COM interoperability

What’s New in C# 5.0

  C# 5.0’s big new feature is support for asynchronous functions via two new
  keywords, async and await. Asynchronous functions enable asynchronous continuations,
  which make it easier to write responsive and thread-safe rich-client applications.
  They also make it easy to write highly concurrent and efficient I/O-bound
  applications that don’t tie up a thread resource per operation

New Features in C# 3.0, 4.0 and 5.0 (英文差的免入)的更多相关文章

  1. vue 3.0 体验,vue 3.0新特性

    前言 昨天不是尤雨溪 不是刚在B站 直播玩了,分享了vue-next v3.0.0-beta.1 版本 哈哈, 不要太刺激哦 6大亮点 Performance:性能更比Vue 2.0强. Tree s ...

  2. PHP build notes - WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 3.0, min: 204, excluded: 3.0).

     WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 3.0, ...

  3. CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14

    准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7. ...

  4. centos 7.0 编译安装php 7.0.3

    php下载页面 http://cn2.php.net/downloads.php 7.0.3多地区下载页面 http://cn2.php.net/get/php-7.0.3.tar.gz/from/a ...

  5. ASP.NET 5 已死 - 隆重介绍 ASP.NET Core 1.0 和 .NET Core 1.0

    还没正式登场就死了?不能怪我标题党,是大神Scott在他博客上这么说的,我只是翻译了一下. 在1月20号最新的ASP.NET Community Standup视频中,微软aspnet开发组的大帅哥 ...

  6. 在DirectShow中支持DXVA 2.0(Supporting DXVA 2.0 in DirectShow)

    这几天在做dxva2硬件加速,找不到什么资料,翻译了一下微软的两篇相关文档.并准备记录一下用ffmpeg实现dxva2,将在第三篇写到.这是第二篇.,英文原址:https://msdn.microso ...

  7. jackson2.5.0升级到2.7.0

    开发环境:spring-mvc4.1.7.jackson2.7.0 问题描述:项目中将原来的jackson2.5.0升级到2.7.0,导致服务调用出错. mvc相关的配置文件如下: <?xml ...

  8. 示例Oracle 10.2.0.1.0升级到10.2.0.4.0一例

    1.查看当前系统版本 [oracle@std Disk1]$ sqlplus '/as sysdba' SQL*Plus: Release - Production on Thu Jan :: Cop ...

  9. Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的Hadoop2.2.0开发环境

    原文地址:http://www.linuxidc.com/Linux/2014-11/109200.htm 图文详解Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的H ...

随机推荐

  1. unity3d游戏物体跟着鼠标方向移动

    效果:当点击鼠标左键时,游戏对象会朝鼠标点击的方向移动,类似魔兽争霸一样. 思路:把鼠标的坐标转化成世界坐标(鼠标默认是屏幕坐标),然后当点击鼠标时,物体将朝着鼠标的世界坐标方向移动. 如果你看到这的 ...

  2. UVa 1471 (LIS变形) Defense Lines

    题意: 给出一个序列,删掉它的一个连续子序列(该子序列可以为空),使得剩下的序列有最长的连续严格递增子序列. 分析: 这个可以看作lrj的<训练指南>P62中讲到的LIS的O(nlogn) ...

  3. centos nginx 多端口配置过程记录

    1. 编辑 /usr/local/nginx/vhosts/  在此目录下增加一文件,如;ci.ainux.com,或复制一个文件 修改其中的端口和目录,更改log_format 名称 重启nginx ...

  4. CentOS 7 安装 tomcat7.0

    安装tomcat: [root@admin local]# cd /usr/local[root@admin local]# tar -zxv -f apache-tomcat-7.0.29.tar. ...

  5. xUTils框架的学习(二)

    这章讲的是框架的DbUtils模块的学习 三 xUtils框架的DButils模块 最开始接触这个框架就是从数据库模块开始的.当时的需求是需要记录用户的登录数据,保存在本地以便进行离线登录.首先想到的 ...

  6. IE下设置unselectable与onselectstart属性的bug,Firefox与Chrome下的解决方案

    在IE下给DIV设置unselectable与onselectstart属性,可以让div的内容不能选中,这个功能在很多情况下,非常有用,但是他的bug太明显, 直接使用一个DIV是可以的,比如: & ...

  7. alibaba笔试1

    5.D 一个线程不可以改变另一个线程的程序计数器.如果改变了,线程在切换后就恢复不到正确的位置. 一个线程可以访问另一个线程的栈.http://bbs.csdn.net/topics/39008942 ...

  8. java 基础之数据类型

    java 数据类型这个地方面试的时候会被经常问到,很多人并不注意这个问题,今天带大家全面了解一下.java数据类型主要分:1.基本数据类型 2.引用数据类型 3.空类型 下面一一介绍. 基本数据类型包 ...

  9. 树莓pi快速ssh【校园网】

    校园网是NAT后的,没有显示器,我把路由器的DHCP服务关了,这样的情况下怎么ssh到树莓pi? 把树莓pi 连到路由器上(已经关闭DHCP),手机安装FING https://play.google ...

  10. IE兼容性问题解决方案3--css中的overflow

    overflow:hidden:IE8下没效果? width:100%;IE6.7.8下必须有宽带,而且不能是auto: weight:auto; overflow-x:scroll; overflo ...