중화사전망 - 서예자전 - Winform 두 LISTVIEW 는 지정된 열의 내용이 일치하는지 비교합니다.
Winform 두 LISTVIEW 는 지정된 열의 내용이 일치하는지 비교합니다.
이 문제에 대한 생각은 먼저 두 열의 정보를 저장한 다음 비교하는 것이다. 어떤 데이터 구조가 중요한가: 사전.
예를 들어, 어떤 ListView 에서 왔든 a 열과 b 열이 있습니다.
두 개의 사전을 만듭니다
이 두 사전 (dicA, dicB 로 가정) 은 각각 열 a 와 열 b 를 순회하며 내용과 수량을 저장합니다.
For(int I = 0;; 나< 목록 보기 1. 프로젝트. 카운트; I++)
{
만약 (디카. ContainKey(listview 1. 항목 [i]. 본문))
DicA[listview 1. 항목 [i]. 텍스트]++;
Else dicA[listview 1. 항목 [i]. 텍스트] =1;
}
위의 코드를 완성하면 중복 내용과 수량이 없는 사전 dicA 를 얻을 수 있다. 마찬가지로, 당신은 dicB 를 얻을 것이고, 그것을 반복하고 비교할 것입니다:
Foreach(IKeyValuePair & lt;; String, int & gtdicA 의 kv)
{
(dicB) 인 경우. ContainKey(kv) 입니다. 중요) & amp& ampdicB[kv. 키] = = = kv 입니다. 값) 계속
Elsemessagebox(" b 열에 "+kv 가 없습니다. 키+"또는 수량과 같지 않음")
}