2011-08-16 4 views
1

문자열을 쉼표로 구분 된 값 문자열로 집계하는 루프를 생각해보십시오.VB6에서 Distinct 문자열을 찾는 가장 좋은 방법은 무엇입니까?

Dim Result As String 
For Each Something In Things 
    If Result <> vbNullString Then 
     Result = Result & "," 
    End If 
    Result = Result & SomeStringFunction(Something) 
Next Something 

어떻게 작동합니까? 나는이 방법을 사용 해왔다. 그러나 그것은 매우 "중량급"같다.

Dim Dict As Dictionary 
Set Dict = New Dictionary 
For Each Something In Things 
    Dict(SomeStringFunction(Something)) = vbNullString 
Next Something 

Dim Result As String 
Dim vKey As Variant 
For Each vKey In Dict.Keys 
    If Result <> vbNullString Then 
     Result = Result & "," 
    End If 
    Result = Result & CStr(vKey) 
Next vKey 
Set Dict = Nothing 

답변

1

OK, 더러운 해킹 시간 :

Dim Result As String 
Dim noDupes as New Collection 
For Each Something in Things 
    On Error Resume Next 
    noDupes.Add Something, Something 
    If Err.Number = 0 Then 
     If Result <> vbNullString Then 
      Result = Result & "," 
     End If 
     Result = Result & SomeStringFunction(Something) 
    End If 
    Err.Clear 
Next Something 
관련 문제