首页 > 解决方案 > C# 中没有类型的新功能是什么?

问题描述

C# 中没有类型的新功能是什么?

我在工作中遇到了以下代码:

throw new("some string goes here");

new("some string goes here")在 C# 中创建字符串的一种方式还是其他方式?

标签: c#new-operatorsyntactic-sugar

解决方案


在特定情况下throwthrow new()是 的简写throw new Exception()。该功能是在 c# 9 中引入的,您可以在文档中找到Target-typed new expressions

如您所见,有很多地方可以使用它(只要可以推断要创建的类型)来缩短代码。

我最喜欢的地方是字段/属性:

private readonly Dictionary<SomeVeryLongName, List<AnotherTooLongName>> _data = new();

作为补充说明,不鼓励throwingException因为它在大多数情况下不够具体,所以我真的不建议这样做throw new ("error");。有很多特定的异常需要使用,如果这些都不起作用,请考虑创建自定义异常。


推荐阅读