次のように要約できるコードを記述した後:
var size=-1;
var arr=new byte[size];
OverflowExceptionがスローされたことに驚きました。OverflowException状態のドキュメント:
負のサイズと配列の長さを指定すると、この例外の説明にどのように適合するかがわかりませんでした。少し深く掘り下げて、これが実際に指定された動作であることがわかりました。
寸法長の計算値は、次のように検証されます。1つ以上の値がゼロ未満の場合、System.OverflowExceptionがスローされ、それ以上のステップは実行されません。
なぜOverflowExceptionが選ばれたのだろうか。あなたが私に尋ねるなら、それはかなり誤解を招きます。それは私に少なくとも5分の調査を要しました(ここで私の考えを数えません)。誰かがこの(私の考えでは)独特の設計決定に光を当てることができますか?