我在c#中有一个案例陈述。我想在运行时从配置文件中选择案例的值。这可能吗?
答案 0 :(得分:2)
没有switch语句,没有。案例标签必须是编译时常量。
Marc Gravell有一个类似开关的结构你可以使用,某个地方......我会试着找到它。它可能不适合您的特定用途。
否则,if / else if / else if [else] / else的序列是可行的方法。
答案 1 :(得分:0)
由于在C#中的case语句中使用的值应该是常量,我认为不可能在运行时从配置文件中设置它们。
答案 2 :(得分:0)
正如其他人所说,switch语句需要编译时的值,因为底层哈希表是在编译时构建的。如果你有在运行时确定的条目,我会使用带有命令模式的哈希表/字典或者如果我是你那么使用委托。