Aracılığıyla paylaş


# if (C# Reference)

C# derleyicisi karşılaştığında bir #if yönergesi, sonuçta bunun arkasından bir #endif belirtilen sembolün tanımlanmışsa yönergesi içeriyorsa, onu yönergeleri arasında kod derlenir.c ve C++ aksine, bir sembol için sayısal bir değer atayamazsınız; C# [NULL]'ta #if ifade Boolean ve yalnızca simge veya tanımlanmış olup olmadığını sınar.Örnek:

#define DEBUG
// ...
#if DEBUG
    Console.WriteLine("Debug version");
#endif

İşleçler kullanabilirsiniz == (eşitlik) ! = (yalnızca sınamak için eşitsizlik) doğru veya yanlış .True sembolü tanımlanır anlamına gelir.İfade #if DEBUG aynı anlama sahip #if (DEBUG == true).İşleçler kullanabilirsiniz & & (ve), | (or), and ! (birden çok simge tanımlı olup olmadığını değerlendirmek için değil).Simgeler ve işleçler parantezli gruplandırma yapabilirsiniz.

Notlar

#if, ile birlikte # başka, #elif, #endif, # Tanımla, ve #undef yönergeleri, eklediğiniz veya çıkardığınız bir veya daha fazla simge varlığını göre kod sağlar.Bu kodu bir hata ayıklama yapı için derleme veya derleme belirli bir yapılandırma için yararlı olabilir.

Koşullu yönerge başlayarak bir #if yönergesi açıkça tamamlanmalıdır ile bir #endif yönergesi.

#definebir sembolü tanımlamak ifade simgesi kullanarak geçirilen öyle ki sağlar #if yönergesi, ifade değerlendirilecek true.

Ayrıca bir sembolle tanımlar / define derleyici seçeneği.Bir sembolle tanımsız #undef.

İle tanımlayan bir sembolü /define veya #define aynı ada sahip bir değişken çakışmayacak.Yani, bir değişken adı bir önişlemci yönergesine geçirilmemelidir ve sembol yalnızca Önişlemci yönergesi tarafından değerlendirilebilir.

Kapsamı ile oluşturulmuş bir sembol, #define tanımlanmış dosyadır.

Örnek

// preprocessor_if.cs
#define DEBUG
#define MYTEST
using System;
public class MyClass 
{
    static void Main() 
    {
#if (DEBUG && !MYTEST)
        Console.WriteLine("DEBUG is defined");
#elif (!DEBUG && MYTEST)
        Console.WriteLine("MYTEST is defined");
#elif (DEBUG && MYTEST)
        Console.WriteLine("DEBUG and MYTEST are defined");
#else
        Console.WriteLine("DEBUG and MYTEST are not defined");
#endif
    }
}
  

Ayrıca bkz.

Başvuru

C# Önişlemci yönergeleri

Kavramlar

C# Programlama Kılavuzu

Diğer Kaynaklar

C# Başvurusu