« Switch » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 21 : | Ligne 21 : | ||
default: | default: | ||
throw new InvalidEnumArgumentException(nameof(i), (int)i, typeof(MyEnum)); | |||
break; | break; | ||
} | } |
Version du 16 mars 2021 à 16:33
switch (i) { case 1: ... break; case 2: case 3: ... goto case 1; case 4: ... goto default; case 5: ... return true; default: throw new InvalidEnumArgumentException(nameof(i), (int)i, typeof(MyEnum)); break; } // depuis VS 2017, switch accèpte d'autres types que int, char et string switch (myObject) { case MyType1 object1: // si myObject est du type MyType1 → cast dans object1 break; case MyType2 object2 when object2.MyProp > 0: // si myObject est du type MyType2 → cast dans object2 puis test object2.MyProp > 0 break; } |