Vb.net 随机排序变量

Vb.net 随机排序变量,vb.net,Vb.net,变量a、b、c和d中有4个字符串。我需要以这种方式对这些变量进行随机排序,这样我就可以将它们输入到4个不同的文本框中,而不是每次程序运行时都输入相同的文本框 我试图通过将字符串放入数组来简化它。告诉我我做错了什么,或者有什么方法可以让我做得更容易 Private Sub Random() For i = 1 To 4 If a = 0 Then a = r.Next(2, 5) ElseIf b = 0 Then

变量a、b、c和d中有4个字符串。我需要以这种方式对这些变量进行随机排序,这样我就可以将它们输入到4个不同的文本框中,而不是每次程序运行时都输入相同的文本框

我试图通过将字符串放入数组来简化它。告诉我我做错了什么,或者有什么方法可以让我做得更容易

    Private Sub Random()
    For i = 1 To 4
        If a = 0 Then
            a = r.Next(2, 5)
        ElseIf b = 0 Then
            Do Until b <> a
                b = r.Next(2, 5)
            Loop
        ElseIf c = 0 Then
            Do Until c <> a Or c <> b
                c = r.Next(2, 5)
            Loop
        ElseIf d = 0 Then
            Do Until d <> a Or d <> b Or d <> c
                d = r.Next(2, 5)
            Loop
        End If
    Next
End Sub
Private-Sub-Random()
对于i=1到4
如果a=0,则
a=r.Next(2,5)
如果b=0,则
直到b a为止
b=r.Next(2,5)
环
ElseIf c=0,则
直到c a或c b为止
c=r.Next(2,5)
环
ElseIf d=0,则
直到d a或d b或d c为止
d=r.Next(2,5)
环
如果结束
下一个
端接头

这里有一种方法:

Dim a As String = "a"
Dim b As String = "b"
Dim c As String = "c"
Dim d As String = "d"

Dim all As String() = {a, b, c, d}
Dim random As New Random

Dim allRandom As String() = all.OrderBy(Function() random.Next).ToArray

你能告诉我们你试过什么吗?只有4x3x2x1=24种可能的排列。所以只需提前生成它们。然后随机选取一个并移除。谷歌“vb.net置换”的代码。