Я пришел в основном из C / C ++, прежде чем начал использовать C #.Одна из вещей, которые я сделал с моим первым проектом на C #, заключалась в создании такого класса
class Element{
public uint Size;
public ulong BigThing;
}
. Затем меня обескуражил тот факт, что для этого требуется приведение:
int x=5;
uint total=MyElement.Size+x;
Почему разработчики языка решили сделать целочисленные типы со знаком и без знака неявно кастируемыми?И почему неподписанные типы не используются больше в библиотеке .Net?Например, String.Length
никогда не может быть отрицательным, но это целое число со знаком.