c# - 如何阻止C#的switch语句生成CIL switch指令

标签 c# clr switch-statement

C# 的 switch 语句可以编译为 CIL switch 指令,或者 if/else,这取决于语句中提到的情况 here .有没有办法强制编译器始终在代码块中生成 if/else 变体?

最佳答案

最简单的方法是在代码中使用 if/else。撇开其他不谈,这让读者更清楚这就是您希望发生的事情,而不是使用开关。

编辑:好的,所以可读性对你来说并不重要——但基本上如果你想改变编译后的代码,就必须改变源代码。您可以使用 Mono 编译器并自己修改它,但我怀疑是否有任何方法可以让 Microsoft 编译器有效地忽略您正在使用 switch 语句。

关于c# - 如何阻止C#的switch语句生成CIL switch指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/763254/

相关文章:

c# - 为什么不能使用 "copy local"将 .NET dll 包含在应用程序中 - 这样就不需要安装的 .NET

c# - 如何将 DataGridView 文本框列设置为多行?

c# - 作为静态或非静态类的存储库?

Python 获取 IDE linter 以从 pythonnet 的 clr 中的系统导入中查看

Erlang:函数调用返回的 case..of 构造?

java - 在 Java 中使用按位运算进行案例评估

C++ 断码(开关量不是整数)

c# - 在 C# 中,如何在 Console.WriteLine() 中使用占位符?

c# - 如何将两个文本框值(数据)添加到数据库(My sql)的单个列中?

c# - 谁能建议一种优雅的方式来编写通用的 C# Dapper 过程以返回 n 个结果集?