組み込み型、いつ使う(使わない)?

.net c# vb.net

C#とVB.NETには、CLR型にマップされる組み込み型が付属しています。 例:int(C#)とInteger(VB)はSystem.Int32にマッピングし、long(C#)とLong(VB)はSystem.Int64にマッピングします。 組み込み型を使用するかどうかを決定するためのベストプラクティスは何ですか(代わりにSystem。*構造体/クラスを使用する)。

  7  1


ベストアンサー

私はほとんどの場合、int / short / longなどの組み込みのエイリアスを使用します。 読みやすく、Systemをインポートしたり、System.Int32をどこにでも入力したりする必要はありません。

言語はそれらを明確に定義し、それらに特定の意味を与えるので、私は何の害も見ない。 ただし、これは100%個人的な選択です。

言われていること – 私が明示的にInt32、Int16などを使用する1つの場所は、私が特にカスタムバイナリフォーマットとの間でのバイナリストレージまたは転送を扱っている場合です。 この場合、各メンバの明示的なビットサイズをファイルに出し入れすると、コードが読みやすく理解しやすくなります。

37


言語の種類(例: string、int、char)は、CLR型(System.String、System.Int32、System.Char)の単なるエイリアスです。

それらは互換性があり、一方を他方より優先する必要はありません。

編集

ポスターは2つの間で選択する際にいくらかの助けを求めた、非常によく。

個人的にはC#言語の型(int、string、charなど)を選択するために_tend_します。それらは入力が少ないためです – 私はただ怠け者だと思います:)

15


組み込みの型キーワードよりも「 `+ System.XYZ」`を明示的に使用するのは、非常に特定のサイズの整数型が必要な場合だけです。 (例えば 問題の整数が実際には4つの8ビットフィールドが一緒にパックされている場合は、「 int 」ではなく「 Int32 +」を使用できます。

14


他のクラス-大文字の最初の文字と同じ構文の強調表示の間で一貫性があるように見えるため、私は常に `+ System。* +`タイプを使用します。 しかし、それは単なる個人的な好みであり、単なる審美的な問題です。

5


“int”と “Int32″(そして他のもの)を使うことは全く同じです。 キーワード(int、Integer(vb.net)、boolなど)は、短くてIDEで強調表示されているため、一般的に使用されています。

2


明示的なBCLクラス名に対して言語タイプを使用する場合と使用しない場合ではなく、使用するタイプがCLS準拠かどうかを知ることがより重要です。

特に、符号なし整数型はCLSに準拠していません。これは、言語が符号なし整数数学をサポートするという要件がないためです。

このしわ以外は…​ 私は、どちらの慣用句があなたの組織のコードプラクティスに従っているかをお勧めします。 型参照の名前空間を完全に指定する場合は、そのパターンをSystem。*名前空間を使用して続けます。 (ただし、それが読者の負担を増大させるので明快さを増すことはないので、そのプラクティスに対してはお勧めしません)

1


タイトルとURLをコピーしました