.NET에서 일반 사전의 전체 복사본 생성
일반 사전의 전체 복사본 복제 또는 수행()는 원본에 영향을 주지 않고 원본 데이터 구조를 보존하는 데 필수적입니다. 다음은 몇 가지 접근 방식입니다.
얕은 복제를 사용하는 ToDictionary() 메서드:
키 및 값 참조가 복사되는 얕은 복사본만 필요한 경우 방법을 사용할 수 있습니다. 다음 예는 얕은 복사를 보여줍니다.
var originalDict = new Dictionary<string int> { { "Key1", 1 }, { "Key2", 2 } }; var shallowCopyDict = originalDict.ToDictionary(entry => entry.Key, entry => entry.Value);</string>
심층 복제를 사용하는 ToDictionary() 메서드:
중첩된 객체도 재귀적으로 복사되는 전체 복사가 필요한 경우 ,
class CloneableValue : ICloneable { public int Value { get; set; } public object Clone() { return new CloneableValue { Value = this.Value }; } } Dictionary<string cloneablevalue> originalDict = new Dictionary<string cloneablevalue> { { "Key1", new CloneableValue() { Value = 1 } } }; var deepCopyDict = originalDict.ToDictionary(entry => entry.Key, entry => (CloneableValue)entry.Value.Clone());</string></string>
사용자 정의 복제 방법:
또는 데이터 구조에 맞는 사용자 정의 복제 방법을 생성할 수도 있습니다. 이 메서드는 사전을 반복하고 키 및 값 개체의 새 인스턴스를 만들고 그에 따라 값을 할당합니다. 예는 다음과 같습니다.
public static Dictionary<string t> CloneDictionary<t>(Dictionary<string t> originalDict) { Dictionary<string t> cloneDict = new Dictionary<string t>(); foreach (KeyValuePair<string t> entry in originalDict) { cloneDict.Add(entry.Key, (T)entry.Value); } return cloneDict; }</string></string></string></string></t></string>
접근 방식 선택은 필요한 복제 깊이와 애플리케이션의 특정 요구 사항에 따라 달라집니다. 적절한 키와 요소 선택기를 사용하는 방법은 얕은 복사본과 깊은 복사본을 모두 생성하는 다양한 방법을 제공합니다.
위 내용은 .NET에서 일반 사전의 전체 복사본을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!