You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Basic是否支持类似C#的#undef取消定义常量?

Visual Basic 是否支持类似 C# #undef 的常量取消定义功能?

在C#中,可通过#undef指令移除已定义的条件编译符号:

#undef SYMBOL_1
// ...
#if SYMBOL_1
    ThisDoesNotRun();
#else
   ButThisDoesRun();
#endif

Visual Basic中通过#Const定义条件编译常量,示例如下:

#Const VB_SYMBOL_1 = True
' ...
#If VB_SYMBOL_1
    ThisWillRun()
#End If
#If Not VB_SYMBOL_1
   ButThisWillNot()
#End If

Visual Basic 没有直接对应 C# #undef 的指令来取消定义条件编译常量。

虽然可以通过#Const VB_SYMBOL_1 = False将常量设为False,但这和“取消定义”并非同一概念:

  • 取消定义后,#If判断该符号时会视为未定义(逻辑上等同于False,但本质是符号本身不存在);
  • 设为False只是修改了常量的值,符号本身依然处于已定义状态。

内容的提问来源于stack exchange,提问作者AlainD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 21:47:05