这个问题是关于这个话题的: Vb.net all combinations
问题: 我将此代码用于我的应用程序,但我遇到了问题。 我有很多东西需要合并。
但我只想展示前10个组合/结果。
我想要的是文字完全独特。
所以我在这个问题的开头看到的例子中有一只猿牛鹿......例子。 这没关系。
但如果我得到这样的话:
(有时甚至更大)
前10个结果是:
但它们几乎相同。
我希望前10个结果是这样的:
这可能吗?
答案 0 :(得分:3)
以下是我使用http://www.developerfusion.com/tools/convert/csharp-to-vb/从c#转换的解决方案:
Dim numbers = New Integer()() { _
New Integer() {1, 2, 3, 4, 5}, _
New Integer() {6, 7, 8, 9}, _
New Integer() {3, 2, 1}, _
New Integer() {0, 9, 8, 7, 6, 5} _
}
Dim random = New Random()
Dim codes = New HashSet(Of String)()
Dim newCode As String
For resultNr As Integer = 0 To 9
' Try to generate random codes until a non exisiting one is found.
Do
Dim sb = New StringBuilder()
For i As Integer = 0 To 3
Dim r As Integer = random.[Next](numbers(i).Length)
sb.Append(numbers(i)(r)).Append("-")
Next
sb.Length -= 1
newCode = sb.ToString()
Loop While codes.Contains(newCode)
codes.Add(newCode)
Console.WriteLine(newCode)
Next
Console.ReadKey()