我想填充一個字符串中的所有唯一值的數組,以防止我每次發現一個數組時,每當我找到一個未包含在數組中的值時試圖創建(消耗大量的時間),我想首先獲得唯一值,所以我只需要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