2014-02-12 87 views
0

我有一組字符串:vb.net字符串值合併爲一個

121010 

121010 

121011 

121011 

我想要做的就是把所有的值,並把它們合併起來,所以我可以得到這樣的輸出:

121010 

121011 

例如,一個列表框應通過搜索字符串,然後給每一個結果作爲列表項,如果有400「121010」值會顯示爲一個值。

我已經看過每個地方的解決方案,但我現在完全失去了。

任何類型的參考將不勝感激。

+0

你可以添加一些你已經嘗試過的代碼嗎? – ekad

+0

你可以發佈樣本輸入嗎?你的樣本似乎不夠好理解 –

+0

所以你有一個單一的字符串,或者你有一個字符串的集合(如「列表(字符串)」?如果你有一個集合,看看'Distinct'擴展方法,或者使用'HashSet'作爲集合。 – sloth

回答

2

可以使用Distinct -extension法:

Dim lst As New List(Of String)() 
lst.Add("121010") 
lst.Add("121011") 
lst.Add("121010") 
lst.Add("121011") 
Dim distinctEntries = lst.Distinct() 

當你在比較字符串,你可能要考慮的是overload還需要一個比較器作爲輸入(以便以您想要的方式處理字母的外殼):

Dim distinctEntries = lst.Distinct(StringComparer.OrdinalIgnoreCase) 
+0

謝謝,唯一的問題是包含字符串的日誌有超過5萬行,所以這就是我卡住的地方 –

+0

問題解決了,謝謝。 –

0

你的問題假設是how to display unique list

之前加入列表框,項目

  • 檢查是否添加已
  • 如果沒有,添加它。

這是檢查的基本編碼風格。

在編碼的提前風格,你可以使用Distinct()

+0

謝謝,問題解決了。 –

0

您可以使用HashSet集合如下:

''String array. 
    Dim a As String() = {"121010", "121010", "121011", "121011"} 

    ' Create HashSet. 
    Dim hash As HashSet(Of String) = New HashSet(Of String)(a) 

    ' String array. 
    a = hash.ToArray() 

HashSet VS Distinct