2013-05-07 3 views
8

저는 기본적으로 C++ 녀석입니다. 이제 C#을 배웁니다. 배열 선언을하는 동안 C#과 다른 형식 뒤에 대괄호가 필요하다는 것을 C#에서 발견했습니다. C# 언어 사양이 이런 식으로 된 이유가 있습니까?C# 배열 선언 구문 대 C++ 배열 선언 구문

C#에서 :

int[] list1, list2; 

리스트 2는 int 배열입니다 내가 생각할 수있는

+5

나는 또한 C++ 사람이지만 C 배열 선언 구문이 반 직관적이라는 것을 알아야합니다. – juanchopanza

+0

@juanchopanza ya, 나는 동의하지만, 이제는 그것을 사용했다. :) – ZoomIn

+0

사실 C++의 실제 타입은'T [N]'(대괄호를 기본 타입 바로 뒤에 붙이기)인데, 그것은 단지 쓰여 져야만하는 선언이다 다르게, 그것은 실제로 조금 모순이다. –

답변

6

유일한 이유는이 건설 목록 1과리스트 2의 종류의 명확한 표시를 확인하는 것입니다. C++에서

:

int list1[], list2; 

리스트 2는 INT이다.

가독성은 여기에 중요합니다.

+0

그것은 C++에서 컴파일되지 않습니다 - "int list1 [], list2"가 필요합니다. –

+0

@DaveDoknjas 사실, 내 대답을 편집하겠습니다 –

3

또한 일관성을 유지하기 위해 (가독성을 높이기 위해).

C# 변수 선언에서 전체 형식 지정은 항상 변수 이름의 왼쪽에 있습니다.

C/C++에서 유형 지정의 일부가 변수 이름의 오른쪽에있는 경우가 있는데, 이는 일관성이 없습니다.

+0

오른쪽에 =, C++의 오른쪽에 형식 지정의 일부를 보여줄 수 있습니까? – ZoomIn

+0

@ZoomIn 죄송합니다. "="변수 이름이 아닙니다. ... 나는 내 게시물을 수정했습니다. –