2013-05-07 3 views
8

Я в основном парень C++, теперь изучая C#. Хотя объявление массива я обнаружил, что C# ожидает квадратные скобки после типа, отличного от c, C++. Есть ли какой-либо причине C# язык спецификация такой способ?Синтаксис объявления массива C# vs C++ синтаксис объявления массива

+5

Я также парень C++, но должен сказать, что я нахожу синтаксис объявления массива C контр-интуитивным. – juanchopanza

+0

@juanchopanza ya, я согласен, но теперь использовал его :) – ZoomIn

+0

Фактически, фактический тип на C++ также является «T [N]» (с скобками непосредственно после базового типа), это просто объявление, которое должно быть записано по-разному, что действительно немного противоречиво. –

ответ

6

Единственная хорошая причина, я могу думать о том, чтобы сделать четкое представление о типах list1 и list2 в этой конструкции:

В C#:

int[] list1, list2; 

песни2 является массивом целых чисел.

В C++:

int list1[], list2; 

песни2 является внутр.

Читаемость здесь является ключевой.

+0

Это не компилируется в C++, хотя вам нужно «int list1 [], list2». –

+0

@DaveDoknjas true, я отредактирую свой ответ –

3

Это также для согласованности (что помогает читать).

В объявлении переменной C# полная спецификация типа всегда находится слева от имени переменной.

В C/C++ иногда часть спецификации типа находится справа от имени переменной, что является непоследовательным.

+0

Можете ли вы дать мне пример части спецификации типа в правой части =, в C++ – ZoomIn

+0

@ZoomIn Извините, я хотел сказать «имя переменной», а не «=», ... Я исправил свой пост. –

Смежные вопросы