C#新语法特性前瞻
今天逛微软的UserVoice site发现了几个有很有用,也很可能被添加到新版C#中的语法,当然也可能被推迟到下一版,拿出来给大家分享一下。
另外还没投票的可以去为自己最想要的新特性投票,有兴趣的可以去这里看看。(ps:居然还有很多人投票要微软重新开发VB6.0)
得票较多的2个语法特性如下:
1、"?." 操作符
myObject?.Items?.[0]?.DoSomething() //or var m= myObject?.att?.DoSomething()
当myObject为null或者att为null时,m为null。终于不用再到处判断对象是否为空了,世界如此美好。不过,貌似只有编译器发现m是一个可空类型时才可以使用,如果无法确认m为一个可空类型会抛出编译错误。(投票地址:http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3990187-add-operator-to-c)
2、允许为自动属性设置默认值
以后可能再也不用为了给属性设置一个默认值而在构造时添加额外的代码块了,如果需要给属性赋默认值或许你可以这么写:
1 2 | public int M { get ; set ; } = m; public bool IsActive = true { get ; private set ; } |
看起来简单多了,不过还可以更简单的这么写:
public int M { get; } = m;
相当于:
public int M { get { return m; } }
另外UserVoice site上其他还有很多其他很好的建议,如允许调试lambda表达式,添加非空引用类型,添加对GPU编程的支持等,有兴趣的可以自己去看一下。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库