SORU
22 Mayıs 2013, ÇARŞAMBA


Neden yok C# daha önce bir davadan sonra ancak ifadeleri izin?

Neden yok C# izin verbu:

var s = "Nice";
switch (s)
{
    case "HI":
        break;
    const string x = "Nice";
    case x:
        Console.Write("Y");
        break;
}

Ama değilbu:

var s = "Nice";
switch (s)
{
    const string x = "Nice";
    case x:
        Console.Write("Y");
        break;
}

CEVAP
22 Mayıs 2013, ÇARŞAMBA


Senin girinti yanıltıcı olduğu için ilk kod aslında

var s = "Nice";
switch (s)
{
    case "HI":
        break;
        const string x = "Nice";
    case x:
        Console.Write("Y");
        break;
}

Geçerli olduğu, x ilan case bir deyim olsa break sonra) içinde. Ancak, doğrudan switch bir bildirimi içinde geçersiz – geçerli cümleleri case default.

Ayrıca, const bildirimleri değerlendirilirderleme zamanındaönce break bir deyim var ama., x tanımlı bile

Ancak, Mono C# derleyiciderlenir değilbu kod, “adı ‘x’” Mono Çek birden uygulamak gibi görünüyor .geçerli kapsamı yok şikayetleri NET derleyici. Ancak, C herhangi bir kural bulamıyorum# bu .sanırım bu yüzden const bildirimi Bu şekilde kullanılmasını yasaklamak standart NET derleyici sağ ve Mono derleyici yanlış.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Washington

    Adam Washing

    12 Mayıs 2006
  • erikbjgn's channel

    erikbjgn's c

    12 Mayıs 2008
  • Hallucination Land

    Hallucinatio

    14 Ocak 2011