2013-06-13 1 views
0

C#을 공부하면서, 나는 다음과 같은 의심을 가지고 있습니다. 배열은 C#에서 참조 타입이므로 선언 할 때 배열이 힙에 항상 할당되어 있다고 생각합니다. 따라서 다음과 같이 배열을 선언합니다.C#에서 배열을 선언 사이의 차이 #

int[] arr1 = {1,2,3}; 
int[] arr2 = new int[3] { 1, 2, 3 }; 

그들 사이에 차이가 있습니까?

그리고 C++에서 배열 int arr[100];을 선언 할 수 있습니까? (초기화하지 않고 새 키워드를 사용하지 않고) 나중에 값을 할당하십시오.

+3

그냥이 [에릭 Lippert의 대답] 볼 (HTTP에 대해 할 수있는 일이다. com/a/5678393/2316200),이 함수가 반환 된 후에도 –

+2

전에 요청되었습니다. 여전히 arr2를 사용할 수 있습니다. 도대체 무슨 소리 야? – tnw

+1

@bapusethi는 C++에서 true가 아니라 C#으로 생각됩니다. – ZoomIn

답변

0

그 배열 초기화 구문

int[] arr1 = {1,2,3}; 
int[] arr2 = new int[3] { 1, 2, 3 }; 
int[] arr2 = new int[] { 1, 2, 3 }; 

들은 동일하다. 이 경우 ...

int[] arr2 = new int[3] { 1, 2, 3 }; 

수량을 맞춰야하므로 크기를 선언 했으므로 [3].

확인이 튜토리얼 http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx

편집 : // 유래 :

int[] MyArray = new int[100]; 
      int[] MyOtherArray = MyArray; 

이 당신이 당신의 두 번째 질문