문제:
목록에 여러 항목을 추가하면 마지막으로 추가된 항목의 값이 모든 목록 항목을 덮어쓰게 됩니다. 이는 아이템의 초기값과 관계없이 발생합니다.
원인:
해상도:
해결 방법은 각 반복마다 새 객체 인스턴스를 생성하는 것입니다.
<code class="language-csharp">foreach (string t in tagList) { Tag _tag = new Tag(); // New Tag object for each iteration _tag.tagName = t; tags.Add(_tag); }</code>
대안: 구조체 활용
클래스에서 구조체로 전환하면 다음과 같은 이유로 덮어쓰기 문제가 해결됩니다.
Add
작업은 고유한 값을 유지하면서 새로운 구조체 인스턴스를 생성합니다.위 내용은 여러 개체를 추가할 때 내 목록 항목을 덮어쓰는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!