>백엔드 개발 >C++ >C#에서 목록에 목록을 할당 할 수 있습니까?

C#에서 목록에 목록을 할당 할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2025-02-02 05:36:11493검색

유형 분산 문제 : 목록에 서명합니다 목록의 문제; 해결책이 있습니까? Can List Be Assigned to List in C#?
예제

다음 코드를 고려하십시오 <strong> 협력 </strong>

조정은 데이터 구조가 기본 유형 객체를 보유 할 수 있다고 선언 할 때 파생 유형 객체를 유지하는 능력입니다. 위의 예에서, 목록

는 동물의 물체 또는 유도 된 유형 (예 : 기린)을 보유 할 수 있습니다.

배열과 목록의 제곱 차이

배열은 런타임시 참조 유형 분산을 지원하고 유형 검사를 수행합니다. 그러나 제네릭은 편집하는 동안 유형 안전을 달성하도록 설계되었습니다. 따라서 목록 목록의 숨겨진 명백한 할당은 실패합니다. 안전하지 않은 사각형 차이

다음 코드와 같이이 유형의 제곱 분산을 허용하면 런타임 오류가 발생합니다.

C# 4

<code class="language-csharp">class Animal { }
class Giraffe : Animal { }

static void Main(string[] args)
{
    // 数组赋值成功
    Animal[] animals = new Giraffe[10];

    // 隐式赋值失败
    List<Animal> animalsList = new List<Giraffe>(); // 错误

    // 显式转换失败
    List<Animal> animalsList2 = (List<Animal>)new List<Giraffe>(); // 错误
}</code>
의 안전 차이 C# 4는 인터페이스 및 위탁의 보안 일반 분산에 대한 지원을 도입했습니다. func (공동 작업) 및 Action

(역)과 같은 텐퍼스와 같은 인터페이스는 유형 보안을 보장합니다. 솔루션

C# 2에서는 단일 목록을 유지할 필요가 없다면 List .convertAll을 사용하여 필요 유형의 새 목록을 만들 수 있습니다.

이 회복 된 출력은 원래의 이미지를 유지하고 텍스트를 다시 제출합니다

위 내용은 C#에서 목록에 목록을 할당 할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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