C# を使い始める前は、ほとんど C/C++ のバックグラウンドを持っていました。C# での最初のプロジェクトで行ったことの 1 つは、このようなクラスを作成することでした。
class Element{
public uint Size;
public ulong BigThing;
}
次に、これにはキャストが必要であるという事実に悔やまれました。
int x=MyElement.Size;
同様に
int x=5;
uint total=MyElement.Size+x;
言語設計者が、符号付きおよび符号なしの整数型を暗黙的にキャストできないようにしたのはなぜですか? また、.Net ライブラリ全体で unsigned 型があまり使用されないのはなぜですか? たとえばString.Length
、負になることはありませんが、符号付き整数です。