在C ++中,可以使用这个表达式:
#define IDENTIFIER NAME
例如。 #define MY_NAME "Gideon"
这在C#中同样可行吗?
答案 0 :(得分:5)
没有。 #define
只能用于定义要使用#if
进行测试的标志(然后仅在文件的开头)。
改为使用常量字符串:
const string MY_NAME = "Gideon";
答案 1 :(得分:1)
那些是完全不同的东西。在C++
中,基本上将替换字符串MY_NAME
,并为其分配表达式 "Gideon"
。
C#
中的情况也是如此,如果是常规表达,但在C++
中你可以定义完整的宏(函数)到MY_NAME
,以便让它们运行,这在C#
答案 2 :(得分:-2)
我不是说你应该这样做,或者说它会像你期望的那样工作,但没有什么可以阻止你尝试在你的代码上使用C预处理器(例如GNU cpp)。