Hirdetés

Új hozzászólás Aktív témák

  • shev7
    veterán

    ezeket nagy if (vagy case) elagazasokat kicsit gondosabb tervezessel ki lehet kuszobolni.

    Bizony így van. Szerintem 6-8 case -nél többet inkább adatszerkezettel (tömb, hash) érdemes megcsinálni. Karbantartani is könnyebb, meg a kód is rövidebb.

    Egyébként visszatérve a Java-hoz, szerintem ez a fajta case ügyetlen.
    A falra tudnék mászni a fall-through tulajdonságától meg mert nem lehet ilyeneket írni:

    case 1..10
    vagy
    case 1,2,3
    vagy case (i>10)
    stb.

    Persze, valószínűleg épp ezért (1,2,3 és 1..10 hiánya miatt) kell a fall-through tulajdonság, mert így ilyeneket lehet írni:
    case 1:
    case 2:
    case 3: System.out.println(''1..3''); break;

    De ez azért eléggé ronda egy kódban. Szerintem.
    KL

    ha jol tudom a switch case szerkezet egy goto-nak fele meg. Ezert van az, hogy nem lehet felsorolni a case utan tobb erteket, mivel akkor nem stimmelne a label. Es ezert van az, hogy kell a break, mert goto utan a kovetkezo sorban folytatod. Persze biztos meg lehetett volna oldani maskepp, de az nagy valoszinuseggel lassabb lett volna.

    mod: Ha megnezzuk a C# fele switch megvalositast, akkor az annyibol kezdo-baratabb, hogy muszaj kitenni a break-et, ezert nem is nezheted be a fall-through-t

    [Szerkesztve]

Új hozzászólás Aktív témák