【问题标题】:Use "#define IDENTIFIER String" to alias in C#?在 C# 中使用“#define IDENTIFIER String”作为别名?
【发布时间】:2012-10-04 06:30:07
【问题描述】:

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

#define IDENTIFIER NAME

例如。 #define MY_NAME "Gideon"

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

【问题讨论】:

    标签: c# c-preprocessor


    【解决方案1】:

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

    改用常量字符串:

    const string MY_NAME = "Gideon";
    

    【讨论】:

      【解决方案2】:

      那是完全不同的东西。在C++ 中,它基本上替换 字符串MY_NAME 与分配给它的表达式 "Gideon"

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-11-24
          • 2016-06-25
          • 2011-07-03
          • 2021-12-09
          • 2013-03-06
          • 1970-01-01
          • 2019-10-06
          • 1970-01-01
          相关资源
          最近更新 更多