c# - C# 可以使用#if 来比较小于或大于的值吗?

标签 c# .net preprocessor-directive

在 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_1VER_GTE_2VER_GTE_3。另一种选择是仅定义当前版本并在 #if 中使用一长串 ||

对于非常大的数字,这很快就会变得不可行。也许最好的方法是尽可能避免预处理器指令 - 我认为 C# 比 C/C++ 有更好的机会。

关于c# - C# 可以使用#if 来比较小于或大于的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35856478/

相关文章:

c# - jquery ajax 与 asp.net 不工作

c# - 在C#中保存文本文件

c++ - 是否允许注释与预处理器指令在同一行,在这种情况下它们的含义是什么?

c# - 在悬停时定位元素 - WPF - C# - 动态数据显示

c# - MigraDoc - 如何避免段落之间换行

c# - IPv4 映射的 IPv6 地址

c# - NUnit 测试运行顺序

c# - WPF Datagrid "Select All"按钮 - "Unselect All"也是?

javascript - GCC预处理器如何用空行替换#define

c++ - #define 指令有多个替换?