[Memo-Unity] 19. FOR문 안의 람다식
카테고리: MeMo Unity
태그: C#, MeMo Unity
lambda
lambda
다른분의 과제 코드를 보다가 해결하는걸 보고 언젠간 겪을 거 같은 문제였다.
1. for문, 람다
onClick.AddListener 람다식으로 for문안에서 할당?
// 오류
for (int i = 0; i < Btns.Length; i++)
{
Btns[i].onClick.AddListener(() => PressBtnSelectGame(i));
}
// 수정
for (int i = 0; i < Btns.Length; i++)
{
int temp = i;
Btns[temp].onClick.AddListener(() => PressBtnSelectGame(temp));
}
PressBtnSelectGame(i) 에서 i값이 0,1,2 —라고 예상된다.
람다식이 실제 실행 되기 전에는 내부 변수를 참조형태로 가지고 있다고 한다.
[Unity] lambda
TOP
댓글남기기