2

在 C++ 中,可以使用以下表达式:

#define IDENTIFIER NAME

例如。#define MY_NAME "Gideon"

这在 C# 中是否同样可能?

4

3 回答 3

5

No.#define只能用于定义要测试的标志#if(并且只能在文件的开头)。

请改用常量字符串:

const string MY_NAME = "Gideon";
于 2012-10-04T06:31:27.950 回答
1

这些是完全不同的事情。在C++它基本上用表达式替换字符串 MY_NAME用 分配给它"Gideon"

同样的情况发生在C#, 在恒定表达式的情况下,但是C++可以定义完整的宏(函数)MY_NAME以使它们运行,这是不可能的C#

于 2012-10-04T06:37:53.283 回答
-2

我并不是说你应该这样做,或者它会按你期望的那样工作,但是没有什么能阻止你尝试在你的代码上使用 C 预处理器(例如 GNU cpp)。

于 2012-10-04T07:43:42.437 回答