C# - 更改结构的默认值



>问得很简单:我可以更改structdefault吗?

  • 如果是,如何?
  • 如果没有,是否有一种优雅的方法来实现以下行为


PointPointF返回x = 0y = 0但我想让它返回x = -1y = -1原因:
  • x = 0y = 0在我的应用程序中是有效的值
  • x = -1y = -1在我的应用程序中是无效值

当我无法计算有效值时,我想只返回一个无效值。我可以定义一个const但这将是涉及积分计算的所有类中的一些。


答:不。

建议的解决方案:

  • structclass并使用 -1 初始化值,而不是default()使用new TheClass()

结构不能覆盖无参数的默认构造函数,也不能显式初始化其字段。

您可以做的是Point?使用可为空的点,并对无效值使用 null。

最新更新