[英]What does hash sign # do in the C# especially in if-else Statements?
我遇到了以下代碼,如下所示。 但我不明白 # 如何在 c# 中工作?
using System;
public class Program
{
public static void Main(string[] args)
{
#if (!pi)
Console.WriteLine("i");
#else
Console.WriteLine("PI undefined");
#endif
Console.WriteLine("ok");
Console.ReadLine();
}
}
輸出:
i
ok
C# 編譯器沒有單獨的預處理器。 然而,指令的處理就像有一個指令一樣。 在 C# 中,預處理器指令用於幫助條件編譯。 與 C 和 C++ 指令不同,它們不用於創建宏。 預處理器指令必須是一行中唯一的指令。
#define
預處理器指令創建符號常量。 #define
允許您定義一個符號,通過使用該符號作為傳遞給#if
指令的表達式,該表達式的計算結果為真。 其語法如下。
當 C# 編譯器遇到一個#if
指令,最后跟一個#endif
指令時,它只會在定義了指定符號的情況下編譯指令之間的代碼。 C# 中的#if
語句是布爾值,僅測試符號是否已定義。
#define pi
using System;
namespace Sample
{
internal class Program
{
static void Main(string[] args)
{
#if (!pi)
Console.WriteLine("i");
#else
Console.WriteLine("PI undefined");
#endif
Console.WriteLine("ok");
Console.ReadLine();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.