안녕과 동일하고 그 두 딕셔너리 키/값 쌍 같으면 확인하고자 ..해시 테이블 A는 I 키/값 쌍 동일있는 두 해시 테이블 개체를 얻었다 C#에서 해시 테이블의 B 제어를
해봤 해시 테이블의 동일한 메소드가 작동하지 않지만
foreach를 사용하여 모든 항목을 검사해야합니까?
감사
안녕과 동일하고 그 두 딕셔너리 키/값 쌍 같으면 확인하고자 ..해시 테이블 A는 I 키/값 쌍 동일있는 두 해시 테이블 개체를 얻었다 C#에서 해시 테이블의 B 제어를
해봤 해시 테이블의 동일한 메소드가 작동하지 않지만
foreach를 사용하여 모든 항목을 검사해야합니까?
감사
당신이하고 싶은 것은 집합체를 가져 와서 크기가 카운트와 같은지 확인하는 것입니다. 당신은 차이를 만들 수 있지만 그때 당신은 두 가지 방법으로해야 할 것입니다. 이 쉽게 Linq를 확장 방법으로 수행 할 수 있습니다,하지만 당신은 해시 테이블을 사용하고 있기 때문에 당신이 캐스트를 사용해야합니다()는 IEnumerable로 얻을 수 :
var table1 = new Hashtable {{"A", 1}, {"B", 2}, {"C", 3}};
var table2 = new Hashtable {{"B", 2}, {"A", 1}, {"C", 3}};
bool same = table1.Cast<DictionaryEntry>().Union(table2.Cast<DictionaryEntry>()).Count() == table1.Count;
Console.WriteLine("Same = " + same);
나는 일반적 유형의 안전을 얻기 위해 해시 테이블을 통해 사전을 권장하지만, 캐스트 <>()를 사용하면 이전 Hashtable에서 찾은 Linq 항목을 사용할 수 있습니다.
내가 해시 테이블의 동일한 방법을 시도했지만 해시 테이블에 두 개의 참조가 동일한 있는지 확인하기 위해 참조 비교를 할 것입니다
이
근무하지. 그것은 당신이 원하는 것이 아닙니다.shoul 나는 foreach로 모든 항목을 확인합니까?
예. 두 개의 해시 테이블의 항목 수가 같고 첫 번째 키/값 쌍이 모두 초 안에 있는지 확인하십시오.
양방향을 확인해야합니까? 두 해시 테이블이 동일한 수의 키를 가지고 있고 첫 번째의 모든 것이 초에 있고 키/값 쌍이 동일하다는 것을 검증하는 것으로 충분하지 않습니까? –
@Joel Rondeau : 네 말이 맞아. – jason