6 EYLÜL 2010, PAZARTESİ
C# süslü parantez olmadan/ile ifade Geçin.... ne'in fark?
C# her zaman seni case:
tablolar arasında switch()
ifadesi küme parantezleri içine atlamak için izin?
Javascript programcılar sık sık yaptığım gibi onları atlama etkisi nedir?
Örnek:
switch(x)
{
case OneWay:
{ // <---- Omit this entire line
int y = 123;
FindYou(ref y);
break;
} // <---- Omit this entire line
case TheOther:
{ // <---- Omit this entire line
double y = 456.7; // legal!
GetchaGetcha(ref y);
break;
} // <---- Omit this entire line
}
CEVAP
6 EYLÜL 2010, PAZARTESİ
Ayraç gerekli değildir, ama kullanışlı yeni bir tanıtmak için gelebilirlerbildirim alanı. Bu davranış bu yana C# 1.0 bildiğim kadarıyla değişmedi.
Onları atlama etkisi tüm değişkenleri bir yere switch
ifadesi içinde bildirilen tüm vaka dalları boyunca beyan yere görünür.
Eric Lippert örnek (sonrası durum 3) Ayrıca Bkz:
Eric'in örnek:
switch(x)
{
case OneWay:
int y = 123;
FindYou(ref y);
break;
case TheOther:
double y = 456.7; // illegal!
GetchaGetcha(ref y);
break;
}
Bu int y
double y
aynı bildirim Alanı switch
deyimi ile getirilen çünkü derleme değil. Beyan boşlukları parantez kullanarak ayırarak hata düzeltme:
switch(x)
{
case OneWay:
{
int y = 123;
FindYou(ref y);
break;
}
case TheOther:
{
double y = 456.7; // legal!
GetchaGetcha(ref y);
break;
}
}
Bunu Paylaş:
"şablon<>" vs "şa...
Parantez ve parantez, Scala, resmi ara...
Parantez arasında bir dize almak için ...
ve parantez olmadan başka...
'in ne listeler arasındaki fark P...