SORU
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:

Four switch oddities

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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Canal de arkyoru

    Canal de ark

    18 Ocak 2007
  • The Verge

    The Verge

    8 AĞUSTOS 2006
  • YEAH1TV

    YEAH1TV

    19 ŞUBAT 2009