千家信息网

C# 8中new 关键字如何使用

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,今天就跟大家聊聊有关C# 8中new 关键字如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。从表面上看,这个特性看起来与 var 关键字
千家信息网最后更新 2024年11月27日C# 8中new 关键字如何使用

今天就跟大家聊聊有关C# 8中new 关键字如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

从表面上看,这个特性看起来与 var 关键字恰好相反。它不是根据表达式推断出变量类型,而是从变量推断出表达式的类型。以下是来自提案使用当前语法和建议语法的对比示例。

         Dictionary> field = new Dictionary>();Dictionary> field = new();

正如你所看到的,当它能够从上下文中推断出类型时,就不需要指定类型。对于局部变量可能没有太大用处,但对于临时参数来说却很方便。

        

XmlReader.Create(reader, new XmlReaderSettings() {
IgnoreWhitespace = true });

XmlReader.Create(reader, new() {
IgnoreWhitespace = true });

在上面的代码中,XmlReaderSettings 类只是用于持有传给 XmlReader 的选项值。我们甚至可以说 XmlReaderSettings 的类型名称对于它所持有的重要信息来说有点"反客为主"了。

这个特性另一个用武之地是不能使用 var 关键字的字段和属性。例如:

         private readonly static object s_syncObj = new();

根据提案,这个特性不能被用在四个地方。

  • 枚举类型:并非所有枚举类型都包含常量零,因此应该使用显式枚举成员。

  • 接口类型:这是一个利基特性,最好要明确指定类型。

  • 数组类型:数组需要特殊的语法来表示长度。

  • 结构体默认构造函数:它排除了所有基本类型和大多数值类型。如果你想使用这个类型的默认值,可以自己写。

看完上述内容,你们对C# 8中new 关键字如何使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0