2012-12-16 9 views
6

C#では.Netクラスと、Doubleやdoubleのような短い名前があります。私はいつも短い名前を使用し、なぜその理由を知りたがっていることを、いつか戻すことを提案しました。 私は彼らがどちらも同じだと知っていますしかし、なぜ1つは時々他の人より優先されますか?読みやすさだけでなく、それ以上のことがありますか?例えばベストプラクティス:使用するもの、.Netクラスまたは短縮名

私は常に使用する必要があり、他方が使用されなければならないときは、次の文字列やブールプロパティ、持つクラスを作成していた場合:

Class MyClass { 
    ... 
    private String x; 
    private Boolean y; 
    ... 
} 

OR

Class MyClass { 
    ... 
    private string x; 
    private bool y; 
    ... 
} 
+0

ダブルとダブルは全く同じではありません。 – Styxxy

+2

@Styxxy:間違っています。これはJavaではなくC#です。 – SLaks

+2

ああ、それを逃した:)。 – Styxxy

答えて

5

要するに、好きなようにしますか?

可能な限り毎回エイリアスを使用することをお勧めします。

コードに複数のInを持つ場合は、intの代わりにInt32を使用してください。 Int32Int64またはInt16のように混ぜる。

+0

Richterは、実際の名前を使用すると、多くの言語(C#だけでなく)を使用する人にとってより明確になると言います。私は彼が正しいと思います。 –

+0

はい、もちろんですが、 'short'、' int'、 'long'などを混在させたコードブロックがあるとしたら、' Int16'、 'Int32'、' Int64'を使って分かりやすいでしょう。 –

+1

So ?私は同じことを言った - 実際の名前(エイリアスではない)を使って。 –

3

さて、彼らは同じです。 CLRへのコンパイル後、両方とも同じデータ型を指します。

3

コードでInt32またはintのいずれかを使用できますが、便利な方法で使用する必要があります。両方を使用しないとコードを読むことができませんが、C#規則では常に同義語。

いくつかの時間、あなたはC#の "INT" のものはJavaであり、そして "Nullable Types" .NETで、または "C#ののType Synonyms"

"Wrapper Classes" の間をミックスすることができ、 "のInt32" と同じです、 "bool"と "Boolean"は同じですが、 "string"と "String"は同じですが、 "int"は.NETのSystem.Int32クラスの同義語です。

"int?"またはNullable <int>変数に "null"値を受け入れるが、Javaでは、null値を保持するために整数の代わりにラッパークラスIntegerを使用する必要があります。

3

System名前空間で定義済みの型の唯一の別名があります。いくつかの可読性はもっと重要です。だから、あなたにはもっと読みやすくて納得のいくものを使ってください。

エイリアスは、納得のゆえに使用されていますが、コンパイラの実際のエイリアスと同じです。

3

stringはSystem.Stringのエイリアスで、boolはSystem.Booleanのエイリアスなどです。 C#タイプのキーワードとそのエイリアスは同じ意味を持ちます。

今後この情報が必要な場合に備えて、明示的なタイプを強調する必要がない限り、私は個人的にエイリアスの使用を好みます。例えば、にintを指定した場合、System.Int32を使用する場合は、明示的にと表示されますが、まったく同じであっても制限があります。

3

指定された型の変数/フィールドを宣言するときに、静的メソッドと短縮名にアクセスする必要がある場合は、クラス名を使用する必要があります。

int i = 0; 
Int32.TryParse(s, out i); 

Microsoftのコードサンプルhttp://msdn.microsoft.com/en-us/library/system.int32.aspx

のいずれか、それを他の方法をやってからコンパイルされたコードでは違いはありませんを参照してください。それはちょうどより清潔で読みやすいです。

+0

C#のこのコンベンションはどこで確認できましたか? –

+0

@ MSakherSawanこれはMSが通常サンプルコードで使用する形式です。 –

+1

あなたは正しいかもしれませんが、Int32.TryParseの代わりにint.TryParseを使用して多数のMicrosoftサンプルを表示できますが、これには慣習がないという点があります。 –

関連する問題