[Memo-Unity] 19. FOR문 안의 람다식

업데이트:

카테고리:

태그: ,


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


📔

댓글남기기