随笔分类 -  C#各版本新功能

6.0->8 各个版本中的新增加功能
摘要:高效安全的代码增强功能 它们旨在尽量减少值类型的复制,而不造成与引用类型使用相关的内存分配,进而提升性能 针对实参的 in 修饰符,指定形参通过引用传递,但不通过调用方法修改。 将 in 修饰符添加到参数是 源兼容的更改 。 针对方法返回的 ref readonly 修饰符,指示方法通过引用返回其值,但不允许写入该对象。 如果向某个值赋予返回值,则添加 re... 阅读全文
posted @ 2020-03-19 15:00 maanshancss 阅读(381) 评论(0) 推荐(3) 编辑
摘要:ReadOnly 成员 默认接口方法 接口里面的方法都是虚方法,字类不用写override 就能对其进行覆盖; 这与抽象类里面的方法是不同的,接口管理的更加随意;以后都可以用面向接口开发了; 若是同时继承了接口1跟接口2,接口1,2都实现了方法 TurnOnFor public interface Interface1 { public void Turn... 阅读全文
posted @ 2020-03-19 14:59 maanshancss 阅读(1462) 评论(0) 推荐(7) 编辑
摘要:C# 7.3 版本有两个主要主题。 第一个主题提供使安全代码的性能与不安全代码的性能一样好的功能。 第二个主题提供对现有功能的增量改进 以下新增功能支持使安全代码获得更好的性能的主题: 无需固定即可访问固定的字段。 可以重新分配 ref 本地变量。 可以使用 stackalloc 数组上的初始值设定 阅读全文
posted @ 2019-04-05 14:46 maanshancss 阅读(516) 评论(0) 推荐(2) 编辑
摘要:async main方法 static int Main()//以前 { return DoAsyncWork().GetAwaiter().GetResult(); } static async Task<int> Main() //现在 有返回值 { // This could also be 阅读全文
posted @ 2019-03-14 15:23 maanshancss 阅读(693) 评论(0) 推荐(1) 编辑
摘要:只读自动属性 //原来的写法 private int age=100; public int Age { get { return age; } } //现在的写法 public class Person { public int Age { get; } = 100; } 自动属性初始化器 //以前的写法 public class Person { public i... 阅读全文
posted @ 2019-03-14 14:46 maanshancss 阅读(276) 评论(0) 推荐(1) 编辑
摘要:out 变量 (以前必须在外面定义一行才可以使用) if (int.TryParse(input, out int result)) Console.WriteLine(result); 元组 元组(Tuple)在 .Net 4.0 的时候就有了,但元组也有些缺点,如: 1)Tuple 会影响代码的 阅读全文
posted @ 2019-03-14 14:45 maanshancss 阅读(592) 评论(0) 推荐(0) 编辑