对象的无赋值构造有意义吗?

本文关键字:有意义 赋值 对象 | 更新日期: 2023-09-27 17:50:57

对我的解决方案进行的r#检查告诉我"'局部变量'fs'从未使用过'"关于这一行:

var fs = new FormatString();

好的,然后;把所有东西都处理掉,好吗?

相反,r#的操作是删除var声明和赋值,留下:
new FormatString();

令我惊讶的是,它编译了!

但是这有什么意义吗?

对象的无赋值构造有意义吗?

理论上是的。一个对象被构造;构造函数执行。在这个过程中,它可能会做一些"有趣的"事情。

如果构造函数中有副作用,那么运行它是很重要的。如果它没有副作用,那么您可以删除整个东西。

public FormatString()
{
    LaunchTheNukes();
}

在这个例子中,是的,它正在做某事