는 는이 코드 주석에 기록 된대로콜백에서 참조로 전달 된 C# 정수? 나는 10 개 요소가있는 경우
public void DoSth(Action<QueryTextureResult> result, IEnumerable<string> arr)
{
int totalData = 0;
foreach (var element in arr) // let's say arr.Count() is 10
{
Action<Texture> onImageReceived = (texture) =>
{
if (result != null)
{
var res = new QueryTextureResult()
{
Texture = texture,
QueryId = queryId,
Index = totalData // why this one is always 10 if the callback takes time?
};
result(res);
Debug.Log("INdex: " + res.Index);
}
};
imageManager.GetImage("http://image.url", onImageReceived);
totalData++;
}
}
가 있다고 가정은, 그것은, result
가 호출 될 시간이 걸린다 왜 내가받은 QueryTextureResult.Index
은 항상 10일까요? 그것은 참조로 전달됩니까? 이 문제를 해결할 방법이 있습니까?
변수가 모두 저장되어있어 동일한 메모리 주소를 공유합니다. –