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ş:
C Modülleri - C 0 x neden çıkarıldı? D...
Neden ;; yerel değişken ilanından sonr...
Neden case ifadeleri sonra molaya ihti...
Neden sıralanmamış bir dizi daha hızlı...
Neden baskı "B" baskı " ...