2013-05-07 23 views
8

私は基本的にC++の男ですが、現在C#を学んでいます。 配列の宣言中に、c#とは違った型の後に角括弧が必要であることがわかりました。 C#言語仕様がこのような理由はありますか?c#配列宣言構文vs C++配列宣言構文

+5

私はC++の人ですが、私はC配列の宣言構文が直感的ではないことが分かります。 – juanchopanza

+0

@juanchopanza ya、私は同意しますが、今ではそれを使用しています:) – ZoomIn

+0

実際、C++の実際の型は 'T [N]'(括弧は基底型の直後)であり、違って、これは実際に少し矛盾しています。 –

答えて

6

私は考えることができる唯一の正当な理由はこの構造でリスト1とリスト2の種類を明確に示すようにすることです:C#では

を:

int[] list1, list2; 

リスト2は、int型の配列です。 C++で

int list1[], list2; 

リスト2はintです。

ここでは可読性が重要です。

+0

これはC++ではコンパイルされませんが、 "int list1 []、list2"が必要です。 –

+0

@DaveDoknjas true、私の答えを編集します –

3

これは一貫性のためです(読みやすくするため)。

C#変数宣言では、完全な型指定は常に変数名の左側にあります。

C/C++では、型指定の一部が変数名の右側にあることがありますが、これは矛盾しています。

+0

=、C++で=、の右側に型指定の一部の例を教えてください。 – ZoomIn

+0

@ZoomIn申し訳ありません、申し訳ありません、 "=" ...私は私の投稿を修正しました。 –

関連する問題