浅谈 C# 8.0 实际使用感受

关于 C#8 的基本介绍,可以参见这里

C# 8.0 中的新增功能 - C# 指南docs.microsoft.com

一个个说了

  1. Nullable reference types 确实香 只是不知道我的项目里面什么时候才能每个文件都 #nullable enable 。用之前建议提前了解!的用法 不然会像我一样,傻傻的用#pragma warning disable CS8602 #pragma warning restore CS8602
  2. Default interface methods 发布前期待很久,有了发现自己并没有什么特别需要的场景,还是期待 C# 9 的 type classes 吧
  3. Switch expressions 确实简洁一些
  4. Asynchronous streams 这个需要配合 System.Linq.Async 才能发挥全部的实力,不然其实没啥大用
  5. Indices and range 可以把str.SubString(i, str.Length-j) 换成 str[i..^j],感觉还是不错的嘛。某些低版本平台不能用这个的话可以试试 bgrainger/IndexRange
  6. Using declarations 发布前期待很久,发布后居然不支持 discard 。差评!如果支持discard可以玩这样的操作
IDispose CreateDisposeForControl(type element)
{
    element.IsEnabled=false;
    //返回一个在dispose方法里面把element.IsEnabled设为true的IDispose
}
void func()
{
    using _= CreateDisposeForControl(textbox1);
    //do sth
}

剩下的我没怎么用,或者没太多可说的,就不多说了

posted @ 2020-08-18 05:58  yinyue200  阅读(486)  评论(0编辑  收藏  举报
知识共享许可协议
本博客原创内容默认采用知识共享署名 4.0 国际许可协议进行许可。