繁体   English   中英

预处理器指令行可以像在 C 中一样在 C# 中使用吗?

[英]Can preprocessor directive lines be used in C# like in C?

预处理器指令行,如

#define
#include
#ifdef and #endif
#if and #elif 

可以在 C 中使用,但不能在 C# 中使用。

有没有其他选择?

主要是#define

C# 有一个粗略的预处理器,它允许您定义符号并测试它们的存在。

除非您使用 C 进行编程,否则请不要使用类似 C 的预处理器。

C# 预处理器指令 (MSDN)

但是,C# 编译器没有像 C 那样单独的预处理器,因此情况可能与您习惯的略有不同。 C# 团队写了一篇关于为什么 C# 不支持 #define 宏的博客文章,阅读可能很有趣。

在 C# 中,#define 仅用于定义可以使用其他预处理器指令 #if 和 #endif 进行测试的符号。 因此,您不能像在 C 中一样使用 #define 来定义常量值。 为此,您应该使用常量或枚举。 常量必须在类内部,但枚举可以在类内部或外部。

是的,C# 有一个预处理器 与 C++ 相比,它有些局限性。

存在以下指令。

#if
#else
#elif
#endif
#define
#undef
#warning
#error
#line
#region
#endregion
#pragma
#pragma warning
#pragma checksum

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM