source

읽기 전용 목록 또는 수정 가능한 목록을 읽습니다.Net4.0

manycodes 2022. 12. 25. 09:43
반응형

읽기 전용 목록 또는 수정 가능한 목록을 읽습니다.Net4.0

내가 할 수 있는 것은요.NetApp은 여전히 읽기 전용 목록만 없습니다.이 프레임워크는 왜 이 기능을 부족합니까?도메인 기반 설계에 대한 일반적인 기능 중 하나는 아닙니다.

Java는 C#의 일부 장점 중 하나는 C#) 방법( 목록) 방법( 목록) 방법( 목록) 방법) 방법 중 하나이다.T> 또는 목록 >T>

사용.IEnumerable<T>질문에 대한 가장 쉬운 해결책입니다.ToList사용할 수 있으며 복사본을 반환합니다.

를 찾고 있습니다.그것은, 그 이후부터 존재하고 있는 것입니다.NET2.

IList<string> foo = ...;
// ...
ReadOnlyCollection<string> bar = new ReadOnlyCollection<string>(foo);

또는

List<string> foo = ...;
// ...
ReadOnlyCollection<string> bar = foo.AsReadOnly();

그러면 읽기 전용 뷰가 생성되고 래핑된 컬렉션에 대한 변경 내용이 반영됩니다.

인터페이스를 사용하고 싶은 유저희망:NET 4.5 에는, 다음에 의해서 실장되는 범용 인터페이스가 추가되어 있습니다.List<T>예를들면.

이 명령어는 다음과 비슷하며,Item인덱서 속성.

프레임워크 내에 이미 있는 Read Only Collection은 어떻습니까?

목록의 가장 일반적인 패턴이 모든 요소를 반복하는 경우,IEnumerable<T>또는IQueryable<T>는 읽기 전용 리스트로서도 유효하게 기능합니다.

2.0에서는AsReadOnly읽기 전용 버전의 목록을 가져옵니다.또는 기존 랩IList에 있어서ReadOnlyCollection<T>물건.

시스템의 문제컬렉션오브젝트 모델Read Only Collection?

IEnumerable에 확장 메서드 ToReadOnlyList()를 만듭니다.

IEnumerable<int> ints = new int[] { 1, 2, 3 };
var intsReadOnly = ints.ToReadOnlyList();
//intsReadOnly [2]= 9; //compile error, readonly

확장 방법은 다음과 같습니다.

public static class Utility
{
    public static IReadOnlyList<T> ToReadOnlyList<T>(this IEnumerable<T> items)
    {
        IReadOnlyList<T> rol = items.ToList();
        return rol;
    }
}

마틴의 대답도 봐.

언급URL : https://stackoverflow.com/questions/984042/read-only-list-or-unmodifiable-list-in-net-4-0

반응형