말이 좀 어려운가요? ㅎㅎ
말 그대로 데이터를 쭈욱 읽는데 중복되는 데이터는 빼고 다른 것만 저장하는 방법입니다.
뭐 다들 이중 루프 쓰면 쉽게 할 수도 있지만 좀 더 레벨을 올려보고자 글 올립니다.
( SQL 쿼리 구문에서 distinct 와 비슷한 역할을 하는 기능을 만드는 겁니다. )
Dim AddMenuList As New List(Of String) ' 데이터를 저장할 Menu 배열입니다.
For Each tmpItem As String In MenuList ' MenuList 는 항목이 중복으로 들어가 있는 문자열 배열입니다. 이걸 For Each 로 Loop 돌면서 읽습니다.
If Not AddMenuList.Exists(Function(value As String)
Return value = tmpItem
End Function) Then
AddMenuList.Add(tmpItem)
End If
Next
간단하면서 어렵죠?
MenuList 라는 중복되는 문자 배열을 For Each 로 루프 돌면서 각각의 항목들을 tmpItem 문자열에 넣습니다.
한 개씩 읽어들인 값을 List 객체의 Exists 메서드를 이용해서 존재 여부를 확인하고,
해당 값이 List 객체 내부에 존재하지 않는 경우, List 객체에 추가하는 기법입니다.
다른 코딩보다 간단해서 참고하시라고 알려드립니다.