vb.net字符串值合并为一个

问题描述:

我有一组字符串:vb.net字符串值合并为一个

121010 

121010 

121011 

121011 

我想要做的就是把所有的值,并把它们合并起来,所以我可以得到这样的输出:

121010 

121011 

例如,一个列表框应通过搜索字符串,然后给每一个结果作为列表项,如果有400“121010”值会显示为一个值。

我已经看过每个地方的解决方案,但我现在完全失去了。

任何类型的参考将不胜感激。

+0

你可以添加一些你已经尝试过的代码吗? – ekad

+0

你可以发布样本输入吗?你的样本似乎不够好理解 –

+0

所以你有一个单一的字符串,或者你有一个字符串的集合(如“列表(字符串)”?如果你有一个集合,看看'Distinct'扩展方法,或者使用'HashSet'作为集合。 – sloth

可以使用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

问题解决了,谢谢。 –

你的问题假设是how to display unique list

之前加入列表框,项目

  • 检查是否添加已
  • 如果没有,添加它。

这是检查的基本编码风格。

在编码的提前风格,你可以使用Distinct()

+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