我正在尝试使用字符串中的所有唯一值填充数组,以防止每次我找到一个尚未包含在我尝试创建的数组中的值时重新编写数组(消耗很多时间),我试图首先获得唯一值,所以我只需要ReDim一次,之后我可以简单地遍历字符串,我所拥有的数组将是我获取的唯一值的正确大小(我正在使用此...)
If array.Contains(string.Chars(atvalue)) = False Then...
如何轻松快速地获取唯一值的数量?
干杯 马丁
答案 0 :(得分:1)
如果“值”表示“字符”,那么
Dim s As String = "dfgsdg"
Dim uc = s.Distinct().ToArray()
答案 1 :(得分:0)
你真正想要的答案是:
Public Function GetUniqueChars(text As String) As Char()
Dim uniqueChars() As String
uniqueChars=""
If String.IsNullOrEmpty(text) Then Return uniqueChars
uniqueChars &= text(0)
For Each c In text.Substring(1)
If Not uniqueChars.Contains(c) Then
uniqueChars &= c
End If
Next
Return uniqueChars.ToArray
End Function
但是,从Net 3.5开始,您可以使用LINQ将此功能缩减为一行:
uniqueChars = text.Distinct().ToArray