C# 1:
委托、事件
C# 2:
泛型、匿名方法、迭代器、可空类型
C# 3:
隐式类型、对象集合初始化、Lambda表达式、匿名类型、自动实现属性、拓展方法、分部类
C# 4:
泛型的协变和逆变、
命名和可选参数(函数名(参数名:参数值))、
动态类型dynamic(编译时视为object,运行时得到正确类型,IL2CPP禁用)
C# 5:
特性、
线程和线程池ThreadPool(对静态类ThreadPool的使用)、
Task任务类(对线程池的改进)、
异步方法Async和Await关键字(结合Task类实现多线程)
C# 6:
=>运算符、Null传播器?、字符串内插$、
静态导入(using static 命名空间.类名 可以直接调用类名中的静态对象)、
异常筛选器(try {} catch(Exception e)when(bool){})、
nameof运算符(nameof())
C# 7:
Out新用法和弃元符号(func(out int x,out int y)、func(out int x,out _ )) 、
Ref新用法(修饰赋值行为,将值传递变为引用传递,int a = 1;ref int b = ref a; 此时ab指向同一块内存)、
本地函数(函数内部声明的临时函数,用于逻辑分类、方便查看)、
字面值改进(int i = 123_321_312 )、
元组(创建临时数据结构类,用于多返回值,(int i,float j,string s)num = (1,1.2f,“qqqq”),num.i,num.j,num.s)、
模式匹配(1、is表达式( 对象 is 常量 )(对象 is 类型 变量名,为真则将对象存入变量中)2、swicth语句(case int j:break; case float i: break;))、
抛出表达式(throw new 异常类(参数))