A trop bien couloir typer mes variables, j'arrête pas d'avoir des soucis avec le type "short".

Je ne comprends pas :

Je colle un espion sur "values[0]" et sur "(short)values[0]" :
values[0] 6086 object {int}
(short)(values[0]) '(short)(values[0])' a levé une exception de type 'System.InvalidCastException' short {System.InvalidCastException}

Comment est-ce possile ?

short va de -32 768 à 32 767...

Comment 6086 peut-il ne pas être castable ?