C#では、DateTime
プロパティMonth
のタイプはint
(32ビット符号付き整数)ですが、その範囲は1〜12のみです。 C#チームがint
(8ビットの符号なし整数)などの小さな数値型よりもbyte
を選択した理由は何ですか?
int
は.NETのほとんどすべての整数変数に使用されますが、多くの場合、より小さな型で十分です。また、符号なしの型は使用できる場合もありますが、ほとんど使用されません。
いくつかの理由:
+
または<
例えば)。ルールは明らかではありません。私は経験豊富な開発者であり、完全なルールセットを説明することはできません。私は知る必要はありません。int
は、すべての一般的なアーキテクチャで高速です。タイプが小さいと、変換が遅くなることがよくあります。int
を使用するだけです。byte
はバイナリデータを提案します。 (Flaterによるコメントを参照してください。)int
を使用するのは便利な規則です。
月は値ではありません。月はほんの月です。
1〜12のマッピング(0〜11のimoである必要があります)は、それを使って簡単に計算できるようにするためだけに作成されています。
そして、それを使って数学を始めたら、実用的でなければなりません。 Intは整数演算のデフォルトです。それらを使用してください。
それはプログラマーが期待することです。コンテキストなし:intを期待します。
1月が1(または0)であるかどうかに関心がないので、「この借金を支払うまでの月々の分割払いの数」などの質問への回答に関心があります。そして、あなたはあなたがバイトの代わりに整数を使うべきだったことがわかります。