Random string - Mohamed20 - 09-04-19
لو عندي 2 array واحدة string و الاخري int
كود :
Dim test = New Integer() {1, 2, 3}
Dim str = New String() {"Test1", "Test2", "Test3", "Test4"}
و عندي
كود :
Dim random = New Random()
على اساس test مثلآ اذا كانت test = 3 يتم اختيار 3 اختيارات من قائمة str مختلفة مثلآ test2 test4 test1
كود :
Dim str = New String() {"Test1", "Test2", "Test3", "Test4"}
Dim test = New Integer() {1, 2, 3}
Dim random = New Random()
If test(random.Next(1, 3)) = 3 Then
MsgBox($"{str(random.Next(1, 3))}-{str(random.Next(1, 3))}-{str(random.Next(1, 3))}")
ElseIf test(random.Next(1, 3)) = 2 Then
MsgBox($"{str(random.Next(1, 3))}-{str(random.Next(1, 3))}")
ElseIf test(random.Next(1, 3)) = 1 Then
MsgBox(str(random.Next(1, 3)))
End If
مثل هذا يتم تكرار الاختيار مثل Test1-Test3-Test1 هل يوجد حل لي هذا ؟
RE: Random string - بدري - 09-04-19
هذا الكود يحضر عدد عشوائي من المصفوفه
كود :
ListBox1.Items.Clear()
Dim str = New String() {"Test1", "Test2", "Test3", "Test4"}
Dim test = 3
If test > str.Count Then
MsgBox("العدد المطلوب أكبر من العناصر الموجوده")
Exit Sub
End If
Dim lst As New List(Of String)
Dim random = New Random()
For i = 0 To test - 1
Do
Dim a = random.Next(0, str.Count)
If Not lst.Contains(str(a)) Then
lst.Add(str(a))
Exit Do
End If
Loop
Next
ListBox1.Items.AddRange(lst.ToArray)
RE: Random string - Mohamed20 - 10-04-19
(09-04-19, 09:18 PM)بدري كتب : هذا الكود يحضر عدد عشوائي من المصفوفه
كود :
ListBox1.Items.Clear()
Dim str = New String() {"Test1", "Test2", "Test3", "Test4"}
Dim test = 3
If test > str.Count Then
MsgBox("العدد المطلوب أكبر من العناصر الموجوده")
Exit Sub
End If
Dim lst As New List(Of String)
Dim random = New Random()
For i = 0 To test - 1
Do
Dim a = random.Next(0, str.Count)
If Not lst.Contains(str(a)) Then
lst.Add(str(a))
Exit Do
End If
Loop
Next
ListBox1.Items.AddRange(lst.ToArray)
شكرأ اخي
|