快速问题:C#中的这个预处理器指令有什么问题

时间:2010-05-03 07:57:13

标签: c# .net

C#中的这些预处理器指令有什么问题

#define OUTPUT_DIRECTORY "E:\asdf\sdfg\jhkl\"

我也尝试过:

#define OUTPUT_DIRECTORY "E:\\asdf\\sdfg\\jhkl\\"

我两个都得到错误:

  

错误1单行评论或   预期结束

3 个答案:

答案 0 :(得分:4)

您不能给该符号(OUTPUT_DIRECTORY)一个值,该符号只能是“已定义”或“未定义”,因此您可以在#if OUTPUT_DIRECTORY ... #endif中使用它。

请参阅http://msdn.microsoft.com/en-us/library/yt3yck0x(VS.71).aspx

答案 1 :(得分:3)

您定义符号。您无法为其指定值。

符号不是变量。有关MSDN的更多信息,请参阅。

用法可能是:

 #ifdef OUTPUT_DIRECTORY
   someVariable = "E:\\asdf\\sdfg\\jhkl\\"
 #endif

答案 2 :(得分:2)

除了Oded和Hans的回答之外,我建议只是让它成为一个常数而不是试图使用预处理器。如果它被多个类使用,请在公共类中定义它。