왜 c#에서 a
List<object>
를 사용한 명시 적 주조도 실패합니다.
이유 :
(예 : 정수 또는 사용자 정의 클래스) 이외의 유형의 객체를 List<string>
에 추가 할 수 있습니다. 그러나이 List<object>
는 원래 a (List<object>)
였습니다. 참조를 사용 하여이 목록에서 요소에 액세스하려고하면 비 스트링 요소가 발생할 때
string
linq : List<object>
보다 간결한 솔루션은 linq의 List<object> 메소드를 사용합니다 :
List<string>
string
System.InvalidCastException
리버스 캐스팅 :
)에서 에 이르기까지 다른 문제는 다른 문제입니다. 이것은 일반적으로 의 모든 요소가 실제로 라는 것을 절대적으로 확신하지 않는 한 일반적으로
허용되지 않습니다. 이것이 사실이 아닌 경우 캐스트를 시도하면 런타임 예외가 발생합니다. C# 이러한 시나리오를 방지하기 위해 유형 안전을 시행합니다. 문자열 요소 만 안전하게 필터링하고 시전하려면 점검을 수행하거나 LINQ의 메소드를 사용해야합니다.위 내용은 왜 '목록'이 C#의 '목록'변수에 직접 할당 할 수 없습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!