C# - 更改结构的默认值
本文关键字:默认值 结构 | 更新日期: 2023-09-27 18:21:03
>问得很简单:我可以更改struct
的default
吗?
- 如果是,如何?
- 如果没有,是否有一种优雅的方法来实现以下行为?
Point
或PointF
返回x = 0
和y = 0
但我想让它返回x = -1
和y = -1
。原因:-
x = 0
和y = 0
在我的应用程序中是有效的值 -
x = -1
和y = -1
在我的应用程序中是无效值
当我无法计算有效值时,我想只返回一个无效值。我可以定义一个const
但这将是涉及积分计算的所有类中的一些。
答:不。
建议的解决方案:
-
struct
→class
并使用-1
初始化值,而不是default()
使用new TheClass()
结构不能覆盖无参数的默认构造函数,也不能显式初始化其字段。
您可以做的是Point?
使用可为空的点,并对无效值使用 null。