2012-11-16 5 views
1

Microsoft Visual Basic 컬렉션 (네임 스페이스 Microsoft.VisualBasic) - Microsoft.VisualBasic.Dll 라이브러리를 사용합니다.컬렉션에서 중복 키 처리

private Collection myCollection; 

내가 그것을 값을 추가, 나는 다음과 같은 오류 얻을 : 내가 그걸 어떻게

Add failed, duplicate key cannot be inserted

처리하나요? 모든 신분증을 통과해야합니다. 예를 들어, 경우의 컬렉션이 ID의 (예 : 10, 11, 12, 13, 10), 코드 (10) 반복하는 경우,이 라인은 실패

myCollection.Add(myIDs.ID); // this code throws exception 

답변

7

http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.collection.aspx

추가하기 전에 확인 컬렉션에 키가 이미 포함되어 있는지 확인하십시오.

if(!myCollection.Contains(myIDs.ID)) 
    myCollection.Add(myIDs.ID); 
+4

, 당신은 http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.collection.aspx의 발언 섹션에서 메모를 고려하는 것이 좋습니다 : "때마다 가능하다면 System.Collections.Generic 네임 스페이스 또는 Visual Basic 컬렉션 대신 System.Collections.Concurrent 네임 스페이스의 제네릭 컬렉션을 사용해야합니다. " –

2

당신은 내가 의해 뜻 생각되는 중복을 원한다면 "나는 통과하는 데 필요한 모든 ID의"대신 컬렉션의 목록 또는 (정수의) 더 나은 목록을 사용할 수 있습니다. TyCobb의 대답에 추가

List<int> IntList = new List<int>; 
      IntList.Add(MyIds.ID);