중화사전망 - 서예자전 - 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 가 없습니다. 키+"또는 수량과 같지 않음")

}