После написания кода, который можно свести к следующему:
var size=-1;
var arr=new byte[size];
я был удивлен, что он выбросил OverflowException . В документации для OverflowException состояния:
Я не мог понять, как предоставить отрицательный размер для и длина массива соответствуют описанию, данному для этого исключения, поэтому углубились немного глубже и обнаружили, что это действительно указанное поведение:
Интересно, почему было выбрано исключение OverflowException. Если вы спросите меня, это вводит в заблуждение. Это стоило мне как минимум 5 минут исследования (не считая моих размышлений здесь). Может ли кто-нибудь пролить свет на это (на мой взгляд) своеобразное дизайнерское решение?