在 C# 中是否有任何方法可以使用 #if 指令来比较一个值与小于或大于运算符?
例子:
#if GAME_SDK_VERSION < 500
#else
#endif
编辑 我看到了重复的问题链接,但它没有清楚地解决我使用大于或小于符号的简单问题。我认为这个问题很有值(value),连同给出的答案都可以独立存在。
最佳答案
不,你不能。引自 the docs :
Unlike C and C++, you cannot assign a numeric value to a symbol; the #if statement in C# is Boolean and only tests whether the symbol has been defined or not.
作为一种解决方法,我使用了表示“大于或等于 X”的符号,例如对于版本 3,我将定义一些具有 VER_GTE_1
、VER_GTE_2
和 VER_GTE_3
。另一种选择是仅定义当前版本并在 #if
中使用一长串 ||
。
对于非常大的数字,这很快就会变得不可行。也许最好的方法是尽可能避免预处理器指令 - 我认为 C# 比 C/C++ 有更好的机会。
关于c# - C# 可以使用#if 来比较小于或大于的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35856478/