궁금합니다. 다음 코드 스 니펫이 두 번째 메모리보다 많은 메모리를 사용합니까?익명 함수는 루프에서 더 많은 메모리를 사용합니까
List<Action> myList = new List<Action>();
for(int i = 0; i < 10000; i++)
{
myList.Add(() => { /* Code */});
}
이번에는 방법을 가리 킵니다.
List<Action> myList = new List<Action>();
for (int i = 0; i < 10000; i++)
{
myList.Add(myFuntion);
}
void myFuntion()...
첫 번째 코드 조각이 익명 메소드를 저장해야하기 때문에 더 많은 메모리를 사용하는지 궁금합니다. 아니면이 같은 익명 함수에 때마다
을 가리키는 그리고 함수에 두 번째 코드 포인트를 수행하거나 때마다 전체 기능을
감사
일반적으로 컴파일러는 람다를위한 델리게이트를 생성합니다 - 런타임에는 일반적인 방법과 다르지 않습니다 ... 여기에 몇 가지 예외가있을 수 있습니다. –
분석> 성능 프로파일 러> 메모리 사용량 확인> 시작> 스냅 샷 찍기> 프로그램 종료로 이동하여 결과를 확인하십시오. 심지어 폐쇄의 경우 –