我想填充一个字符串中的所有唯一值的数组,以防止我每次发现一个数组时,每当我找到一个未包含在数组中的值时试图创建(消耗大量的时间),我想首先获得唯一值,所以我只需要ReDim一次,然后我可以遍历字符串,我拥有的数组将是唯一值的正确大小我AQUIRE(我用这个...)检索一个字符串中的唯一值数
If array.Contains(string.Chars(atvalue)) = False Then...
我怎样才能得到唯一值的数量轻松快速地?
干杯 马丁
我想填充一个字符串中的所有唯一值的数组,以防止我每次发现一个数组时,每当我找到一个未包含在数组中的值时试图创建(消耗大量的时间),我想首先获得唯一值,所以我只需要ReDim一次,然后我可以遍历字符串,我拥有的数组将是唯一值的正确大小我AQUIRE(我用这个...)检索一个字符串中的唯一值数
If array.Contains(string.Chars(atvalue)) = False Then...
我怎样才能得到唯一值的数量轻松快速地?
干杯 马丁
如果 “价值” 你的意思是 “角色”,然后
Dim s As String = "dfgsdg"
Dim uc = s.Distinct().ToArray()
好吧,这不是VB6 :) – 2012-03-17 08:53:43
是的,欢呼的答案:) – marscom 2012-03-18 23:00:32
你是从字面上寻找的答案是:
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
请正确标记。这不是VB6。我猜你正在使用VB.NET? – 2012-03-17 07:08:04
你是什么意思,这不是VB6?我使用的Visual Studio 2010和语言是可视化的基本.. – marscom 2012-03-17 07:11:38
这是明确的VB6,因为我已经检查,它说的Visual Basic,而不是visual basic.net(除非在visual studio 2010 vb = vb.net) – marscom 2012-03-17 07:54:24