【C#版本详情回顾】C#3.0主要功能列表

  • 隐式类型的本地变量和数组

    • 在与本地变量一起使用时,var 关键字指示编译器根据初始化语句右侧的表达式推断变量或数组元素的类型
  • 对象初始值设定项
    • 支持无需显式调用构造函数即可进行对象初始化
  • 集合初始值设定项
    • 支持使用初始化列表而不是对 Add 或其他方法的特定调用来初始化集合
  • 扩展方法
    • 使用静态方法扩展现有类,这些静态方法可以通过实例方法语法进行调用
    • 如果扩展方法与该类型中定义的方法具有相同的签名,则扩展方法永远不会被调用
    • 扩展方法被在命名空间级别放入范围中
    • 类库的实施者不应使用扩展方法来避免创建程序集的新版本
    • 如果您要向库中添加重要的新功能,并且您拥有源代码,则应该遵循标准 .NET Framework 程序集版本控制准则
  • 匿名类型
    • 允许动态创建可以添加到集合中并且可以使用 var 进行访问的未命名结构化类型
    • 匿名类型提供了一种方便的方法,可用来将一组只读属性封装到单个对象中,而无需首先显式定义一个类型
    • 类型名由编译器生成,并且不能在源代码级使用
    • 这些属性的类型由编译器推断
  • Lambda 表达式
    • 支持带有可绑定到委托或表达式树的输入参数的内联表达式
  • LINQ查询关键字
  • 自动实现的属性
    • 支持使用简化的语法声明属性
  • 分部方法定义
    • 分部类型现在可以包含分部方法
    • 类的一个部分包含方法的签名。可以在同一部分或另一个部分中定义可选实现
    • 如果未提供该实现,则会在编译时移除方法以及对方法的所有调用
    • 如果调用了未实现的方法,将不会导致编译时错误或运行时错误
    • 分部方法使代码生成器创建的代码和开发人员创建的代码能够协同工作,而不会产生运行时开销
    • 分部方法声明必须以上下文关键字 partial 开头,并且方法必须返回 void
    • 分部方法可以有 ref 参数,但不能有 out 参数
    • 分部方法为隐式 private 方法,因此不能为 virtual 方法
    • 分部方法可以为泛型的。约束将放在定义分部方法声明上,但也可以选择重复放在实现声明上
    • 不能将委托转换为分部方法
时间: 2024-10-13 00:52:43

【C#版本详情回顾】C#3.0主要功能列表的相关文章

【C#版本详情回顾】C#4.0主要功能列表

诊断和性能 从 .NET Framework 4 开始,您可以获得每个应用程序域的处理器使用情况和内存使用情况估计值 通过托管承载 API.本机承载 API 以及 Windows 事件跟踪 (ETW),可提供应用程序域资源监控 参见新增的 AppDomain.MonitoringIsEnabled 属性 垃圾回收 .NET Framework 4 提供背景垃圾回收替代了以前版本中的并发垃圾回收并提高了性能 代码协定 代码协定允许您指定方法或类型的签名没有单独表示的协定信息 以前置条件.后置条件和

【C#版本详情回顾】C#2.0功能列表

泛型 优点:类型安全/重用代码/提升性能 应用:泛型接口.泛型类.泛型类型参数.泛型方法.泛型事件和泛型委托 命名空间:System.Collections.Generic 特性:泛型约束,default关键字获取类型默认值 default(T) 反射:支持反射获取泛型类型信息 迭代器 优点:更简洁的语义实现迭代器 语法:yield return语句依次返回每个元素,yield break将终止迭代 分部类(分部接口.分部结构 关键字partial) 作为同一类型的各个部分的所有分部类型定义都必

[.net 面向对象程序设计深入](4).NET MVC ——谈谈MVC的版本变迁及新版本6.0发展方向

[.net 面向对象程序设计深入](4).NET MVC ——谈谈MVC的版本变迁及新版本6.0发展方向 1.关于MVC 在本篇中不再详细介绍MVC的基础概念,这些东西百度要比我写的全面多了,MVC从1.0到5.0的时间也不短了,很多人只是按照范例去使用MVC的一些基础功能,并没有更加深入的了解MVC.在这一系列中,我主要介绍MVC的一些原理和使用技巧,以及MVC的发展方向. 先说说MVC,首先他是一种设计模式,如果你百度为什么GOF23种设计模式中没有MVC,答案很有意思,如下: “在他们看来

最全最详细的蓝牙版本介绍包含蓝牙4.0和4.1

概述:蓝牙核心规范发展的主要版本: 表1  蓝牙核心规范发展介绍 版本 规范发布 增强功能 0.7 1998.10.19 Baseband.LMP 0.8 1999.1.21 HCI.L2CAP.RFCOMM 0.9 1999.4.30 OBEX与IrDA的互通性 1.0 Draft 1999.7.5 SDP.TCS 1.0 A 1999.7.26 第一个正式版本 1.0 B 2000.10.1 安全性,厂商设备之间连接兼容性 1.1 2001.2.22 IEEE 802.15.1 1.2 20

STL源码剖析---根据最新版本的g++4.9.0(支持C++11)的修订(1)空间配置器

源码剖析采用的G++版本为2.91.57版本,是比较老的版本与最新版本4.9.0有某些方面的差别.现在我针对最新版本做一个分析.我下载了最新的gcc-4.9.0的包作为观察对象: 我们#include <>时的头文件放在:gcc-4.9.0/libstdc++-v3/include/std:例如vector. 真正的实现文件放在:gcc-4.9.0/libstdc++-v3/include/bits:例如:stl_vector,注意前面的stl_. 最后要说的是:技术是不断进步,不断发展变化的

REDGATE SQLPROMPT 6.0新功能

原文:REDGATE SQLPROMPT 6.0新功能 REDGATE SQLPROMPT 6.0新功能 下载地址:http://files.cnblogs.com/lyhabc/SQLPrompt6.02013-11-2.rar (1)自动刷新代码提示,当数据库中有对象更改过之后马上可以看到更改后的内容 (2)tab窗口改变颜色(由数据库操作者自己设置颜色,用来提醒自己当前他自己所操作的数据库是在什么环境下) 注意:这个功能是自己手动设置的不是自动的(这个功能只适用于SQLSERVER2012

Android 6.0 新功能及主要 API 变更

伴随着新的特性和功能, Android 6.0 (API 级别 23)带来了一系列系统和 API 行为的变更.这篇文章中将介绍一些在应用程序中需要理解和注意的主要变更点. 如果你之前已经发布过 Android 应用程序,要意识到这些变更对应用程序的影响. 运行时权限 这个版本中引入了新的权限模型,现在用户可以在运行时直接管理应用程序的权限.这个模型基于用户对权限控制的更多可见性,同时为应用程序的开发者提供更流畅的应用安装和自动升级.用户可以为已安装的每个应用程序独立的授予或者取消权限. 在运行于

VMware Vsphere6.0的功能及版本升级方式介绍

说到vmware的产品相信大家都已经相当熟悉了,从最早接触的Vmware Workstation到现在的Vmware Vsphere产品,现在Vmware workstation已经更新到11.0版本了,同样Vmware vsphere已更新到了6.0,对于workstation我就不多介绍了,今天呢,主要介绍一下Vmware vsphere 6.0的最新功能,同样跟vmware vsphere5.5进行功能对比,主要是我模拟我的真实环境,我之前的环境是vmware vsphere5.5,使用了

如何使用XE2及更高版本中提供的自定义皮肤(样式)功能

源:如何使用XE2及更高版本中提供的自定义皮肤(样式)功能 1. 制作样式文件: 点击 XE2+ 的 IDE 菜单上的 Tools-->Bitmap Style Designer, 打开设计器. 为每个需要的元素设计好图片或颜色或字体. 最重要的是, 要为设计的样式起个名字: Objects 窗口中, 选中最上面的 Objects 节点, 在 Inspector 窗口中, 为 Name 属性起个名字, 如 ccrun 然后保存这个样式: File-->SaveAs, 假设保存为 D:\ccru