질문:
C#의 배열은 IList
답변:
배열 및 일반 인터페이스
C# 구현의 배열 System.Collections.IList는 일반적이지 않습니다. System.Collections.Generic.IList
CLR의 숨겨진 구현
그러나 CLR(공용 언어 런타임)은 구체적인 배열 유형을 동적으로 생성합니다. 이러한 유형은 내부적으로 System.SZArrayHelper 클래스를 사용하여 IList
컴파일러 및 CLR 지식
컴파일러와 CLR은 배열 유형을 인식하고 이를 IList
Missing Count Property
Count 속성은 명시적으로 구현되지 않습니다. 대신 CLR은 내부적으로 배열의 Length 속성에 매핑되는 메서드를 사용합니다.
internal int get_Count<T>() { T[] _this = JitHelpers.UnsafeCast<T[]>(this); return _this.Length; }
Breaking the Rules?
이 내부 구현은 틀림없이 엄격한 규칙을 위반합니다. 인터페이스 구현 규칙. 그러나 배열이 IList
추가 정보
위 내용은 C# 배열은 공개 'Count' 속성이 없음에도 불구하고 실제로 'IList' 인터페이스를 구현합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!