>백엔드 개발 >C++ >C#에서 목록을 목록으로 캐스팅하는 더 짧은 방법이 있습니까?

C#에서 목록을 목록으로 캐스팅하는 더 짧은 방법이 있습니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-03 11:05:40854검색

Is There a Shorter Way to Cast a List to a List in C#?

목록에서 캐스팅하기 위한 더 짧은 구문 목록으로

항목 목록을 한 유형에서 다른 유형으로 캐스팅하는 것은 종종 다음 접근 방식을 사용하여 달성할 수 있습니다.

List<Y> ListOfY = new List<Y>();

foreach (X x in ListOfX)
    ListOfY.Add((Y)x);

그러나 이 방법을 사용하려면 각 항목을 캐스팅해야 합니다. 항목을 개별적으로 작성하는 것은 번거로울 수 있습니다. 목록 전체를 한 번에 캐스팅할 수 있는 이보다 더 간결한 방법은 없을까요?

답변

네, Cast<> System.Linq 네임스페이스의 확장 메서드는 목록 캐스팅을 위한 간결한 구문을 제공합니다. 사용 방법은 다음과 같습니다.

List<Y> listOfY = listOfX.Cast<Y>().ToList();

다음 사항에 유의하세요.

  • System.Linq를 사용하여 가져옵니다. 네임스페이스.
  • 이 메서드는 목록 자체가 아닌 목록의 각 항목을 캐스팅합니다. ToList() 메소드는 새로운 List 캐스팅된 아이템으로.
  • 캐스트<> 사용자 정의 변환 연산자를 지원하지 않습니다. 이러한 경우 앞서 설명한 명시적 캐스팅 루프 접근 방식을 사용해야 할 수도 있습니다.
  • Cast<> 명시적인 연산자 메서드(프레임워크 4.0)가 있는 객체에는 작동하지 않습니다.

위 내용은 C#에서 목록을 목록으로 캐스팅하는 더 짧은 방법이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.