C# 9.0 新特性预览 - 空参数校验 前言 随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章将向大家展示它们. 目录 [C# 9.0 新特性预览 - 类型推导的 new][C# 9.0 新特性预览 - 空参数校验][C# 9.0 新特性预览 - Lambda 中的弃元][C# 9.0 新特性预览 - Record 类型][C# 9.0 新特性预览 - 模式匹配的改善][C# 9.0 新特性预览 - 其他…
1.可选参数 可以为方法的参数设置一个默认值,如下: class Program { static void Main(string[] args) { Show(); Show("cary"); Console.ReadLine(); } public static void Show(string msg = "") { Console.WriteLine("Hello {0}",msg); } } 2.命名参数 上面的Show方法可以象下面…
C# 9.0 新特性预览 - 顶级语句 前言 随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章将向大家展示它们. 目录 [C# 9.0 新特性预览 - 类型推导的 new][C# 9.0 新特性预览 - 空参数校验][C# 9.0 新特性预览 - 顶级语句][C# 9.0 新特性预览 - Record 类型][C# 9.0 新特性预览 - 模式匹配的改善][C# 9.0 新特性预览 - 源代码生成器][C#…
C# 9.0 新特性预览 - init-only 属性 前言 随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章将向大家展示它们. 目录 [C# 9.0 新特性预览 - 类型推导的 new] [C# 9.0 新特性预览 - 空参数校验] [C# 9.0 新特性预览 - 顶级语句] [C# 9.0 新特性预览 - init-only 属性] [C# 9.0 新特性预览 - Record 类型] [C# 9.0…
C# 9.0 新特性预览 - 类型推导的 new 前言 随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章将向大家展示它们. 目录 [C# 9.0 新特性预览 - 类型推导的 new][C# 9.0 新特性预览 - Lambda 中的弃元][C# 9.0 新特性预览 - 更简便的空参数检查][C# 9.0 新特性预览 - Record 类型][C# 9.0 新特性预览 - 模式匹配的改善][C# 9.0 新特…
1.dynamic ExpandoObject熟悉js的朋友都知道js可以这么写 :   1 var t = new Object(); 2 t.Abc = ‘something’; 3 t.Value = 243; 现在这个js动态语言的特性,我们也可以在c#中使用了,前提是将一个变量声明为ExpandoObject类型.如下例:   1 static void Main(string[] args) 2 3 dynamic t = new ExpandoObject(); 4 t.Abc =…
一.Python兼容性 Django 2.0支持Python3.4.3.5和3.6.Django官方强烈推荐每个系列的最新版本. 最重要的是Django 2.0不再支持Python2! Django 1.11.x是支持Python2.7的最后版本. 二.2.0新特性 1.简化了URL路由语法 django.urls.path()方法的语法更简单了. 例如以前的: url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive), 可以写作:…
C#6.0新特性 Auto-Property enhancements(自动属性增强) Read-only auto-properties (真正的只读属性) Auto-Property Initializers (自动属性的初始化) Expression-bodied function members (表达式方法体) using static (导入类静态方法) Null-conditional operators (一元空值检查操作符?.) String Interpolation (字符…
C#2.0 泛型 部分类型 匿名方法 迭代器 可空类型 Getter / setter单独可访问性 方法组转换(代表) Co- and Contra-variance for delegates 静态类 Delegate inference C#3.0 隐式类型局部变量 对象和收集初始化器 自动实现的属性 匿名类型 扩展方法 查询表达式 Lambda表达式 表达树 部分方法 C#4.0 动态绑定 命名和可选参数 Generic co- and contravariance 嵌入式互操作类型(“N…
本文参考Roslyn项目中的Issue:#259. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性3: 模式匹配 4. C# 7.0 新特性4: 返回引用 简而言之,[本地方法]就是在方法体内部定义一个方法. 其实咋眼一看,这个新特新并没有什么新意,因为目前大量C#的项目中,都可以使用delegate或基于delegate变形的各种方案(lambda, Fun<*>, Action, Action<*…