C # 8.0 présente un moyen pratique de découper des tableaux - voir le blog officiel de C # 8.0 .
La syntaxe pour accéder au dernier élément d'un tableau est
int value[] = { 10, 11, 12, 13 };
int a = value[^1]; // 13
int b = value[^2]; // 12
Je me demande pourquoi l'indexation pour accéder aux éléments à l'envers commence à 1 au lieu de 0? Y a-t-il une raison technique à cela?
value[0..^0]
, puisque l'index de fin est exclusif (c'est ainsi que fonctionnent la plupart des autres langues). Aussi, commodément, value[^i..^0]
vous donnera les derniers i
éléments.
rbegin()
quelque peu en désaccord avec cette notion - le premier élément de cette plage n'est pas non plus celui au-delà de la fin. ;-)
value[-1] # 13
[beginInclusive, endExclusive)
. C'est une convention commune.