【发布时间】:2017-05-24 23:38:12
【问题描述】:
我有以下情况:
enum values{
go = 1,
stand = 2,
jump = 3,
run = 4,
go_stand=5,
go_jump=6,
go_run=7,
go_stand_jump=8,
… and so on
Go_stand_jum_prun=17}
int select value(bool go, bool stand, bool jump, bool run)
{
}
基于传递给方法的 bool 值的组合,我需要返回适当的值,这意味着如果 go=true 其余为 false 1 如果传入的所有参数都为 true 将返回 17 将返回,同样适用于所有之间的组合。我唯一的想法是用很多 if 和 else if 语句来评估可能的组合,这有点难看。问题是有更优雅的解决方案。
谢谢大家!!!
【问题讨论】:
-
这应该是什么语言?肯定不是
C#... -
能否详细说明问题?你应该返回什么值?你写的函数是一个虚空。
-
枚举与布尔值有什么关系?你能说明你如何使用布尔值吗?
-
我需要返回合适的值什么是合适的值?你的方法签名也是错误的。
-
您是否考虑过使用基于
[Flags]的enum可能会简化事情?