Ssssong += Dev

[유니티, C#] foreach, 콜렉션 본문

개발/공부

[유니티, C#] foreach, 콜렉션

ssong_dev 2022. 6. 14. 09:37

 반복문으로 콜렉션 요소를 가져올 때 foreach를 쓰면 동일한 형식으로 가져올 수 있다.

이렇게 가져올 때 각 콜렉션이 가져오는 순서에 맞춰 요소를 int형으로 가져온다.

foreach(int temp in List)
{
	Debug.Log(temp);
}

foreach(int temp in Stack)
{
	Debug.Log(temp);
}

foreach(int temp in Queue)
{
	Debug.Log(temp);
}

 

타입이 지정되지 않은 콜렉션의 경우 object나 var를 사용할 수 있다.

obejct는 모든 데이터의 부모로써 Int, GameObject 같은 여러 데이터 타입들의 부모라 할 수 있다.

object 형식은 박싱 기능을 제공하여 object 형으로 형변환되어 저장되었다가 이후 언박싱하여 사용한다.

 

var는 컴파일 시점에서 자동으로 할당된 값의 형식으로 변환된다.

그러나 런타임 시점에서 동작하지 않으므로 함수의 매개 변수 등으로 사용될 수 없다.

foreach(object temp in arrayList)
{
	Debug.Log(temp);
}

foreach(var temp in arrayList)
{
	Debug.Log(temp);
}


Test test = new Test();
test.testValue = 10;

//컴파일 시점에만 가능. 자동으로 Test형으로 맞춰준다.
var tempVar = test;

object tempObject = test;

//언박싱해서 사용한다.
Debug.Log((Test)tempObject).testValue);

 

 

 + Dictionary를 타입 지정 없이 사용하려면 HashTag로 사용할 수 있다.

'개발 > 공부' 카테고리의 다른 글

[유니티, C#] 확장메서드  (0) 2022.06.15
[유니티] 충돌 검사 짤팁  (0) 2022.06.14
[유니티, C#] 깊은 복사 ConvertAll  (0) 2022.06.13
[C#] 추상클래스와 인터페이스  (0) 2022.06.13
[유니티] 스크립트 직렬화  (0) 2022.06.08