사이클 캡처의 변수
C#에서 주기에서 작업을 정의 할 때 변수 캡처의 동작에주의를 기울여야합니다. 기본적으로 모든 작업은 동일한 변수를 캡처하여 출력 결과가 호출 할 때 예상을 충족시키지 못하게합니다.
다음 예를 고려하십시오 :
이 코드의 예상 출력은 0, 2, 4, 6 및 8입니다. 그러나 실제 출력은 5 10입니다. 이는 모든 작업이 동일한 캡처 된 변수 를 인용하여 사이클에서 업데이트되기 때문입니다. 호출 할 때 모든 작업은 동일한 값을 갖습니다.
이 문제를 피하고 각 조작 인스턴스가 자체 캡처 변수가 있는지 확인하려면 사이클의 변수를 복사해야합니다.
변수의 로컬 사본을 통해 각 작업은 고유 한 값을 캡처하여 예상 출력 0, 2, 4, 6, 8을 얻습니다.
이 변수 캡처의 개념은 C#의 폐쇄를 이해하는 데 중요합니다. 주기 내에서 작업을 정의 할 때는 변수의 수명주기와 접근성을 고려해야합니다. 위 내용은 C# 루프 동작이 동일한 변수를 캡처하는 이유는 무엇이며 어떻게 피할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!