C# 清理/压缩布尔变量表示的多个状态

C# 清理/压缩布尔变量表示的多个状态,c#,wpf,boolean,state,code-cleanup,C#,Wpf,Boolean,State,Code Cleanup,在一个实现中,我有很多状态,由布尔变量表示,当一个状态为真时,对应该状态的变量为真,而其他许多或所有状态都为假。这不是一个好方法,因为我只是在编码之前规划我的解决方案,结果是这样的。现在我得打扫了。最好的清洁方法是什么 我在考虑enum,为每个状态指定一个名称,这样一个变量可以包含状态名称,而不是多个变量。但问题是,还有其他与某些状态相关的信息,例如一个或两个点变量或int变量实例,它们仅适用于该状态。如果使用enum,如何适应它们 在这种情况下,什么是最优雅、最合适的解决方案?看看实现状态机的

在一个实现中,我有很多状态,由布尔变量表示,当一个状态为真时,对应该状态的变量为真,而其他许多或所有状态都为假。这不是一个好方法,因为我只是在编码之前规划我的解决方案,结果是这样的。现在我得打扫了。最好的清洁方法是什么

我在考虑enum,为每个状态指定一个名称,这样一个变量可以包含状态名称,而不是多个变量。但问题是,还有其他与某些状态相关的信息,例如一个或两个点变量或int变量实例,它们仅适用于该状态。如果使用enum,如何适应它们


在这种情况下,什么是最优雅、最合适的解决方案?

看看实现状态机的状态设计模式,而不是将状态映射到枚举,每个状态都是一个类,事件是状态类的成员函数。

您的问题太多,只涉及一个非常狭窄的情况,而这个情况通常不适用于互联网的全球受众(即您的应用程序)。尝试将您的问题分解为单独的问题,这些问题的答案可能对其他用户也有帮助。已修复,所有与我的应用程序相关的问题都已删除,只剩下一个常规问题。