Inlägg

Inlägg som RonSch har skrivit i forumet
Av RonSch

Min slutliga lösning.

Option Explicit On
Public Class Form1
Private selectedNumbers As List(Of Integer)
Private rand As Random

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
rand = New Random
selectedNumbers = New List(Of Integer)
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
RandomNrExamle()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If selectedNumbers.Count = 0 Or selectedNumbers Is Nothing Then
Console.WriteLine("No numbers present")
Else
Console.WriteLine(selectedNumbers(0).ToString & " Removed")
selectedNumbers.RemoveAt(0)
End If
End Sub

Private Sub RandomNrExamle()
Dim allNumbers As New List(Of Integer)(Enumerable.Range(1, 6))
selectedNumbers = New List(Of Integer)
For i As Integer = 0 To 5
Dim index As Integer = rand.Next(0, allNumbers.Count)
Dim selectedNumber As Integer = allNumbers(index)
selectedNumbers.Add(selectedNumber)
allNumbers.RemoveAt(index)
Next
For Each i As Integer In selectedNumbers
Console.WriteLine(i)
Next
End Sub
End Class

Av RonSch

Hjälp med kod för bearbetning av redan genererad lista.

Behöver hjälp med kod för att bearbeta en lista jag skapar med unika slumpmässiga tal. Har googlat i många timmar men får inte till det. Behöver hjälp med händelserna när man trycker Button2.

Imports System.Collections.Generic Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click RandomNrExamle() End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click ' Steg #1 ' "Echo" ut första siffran ur genererad indexlista. ' Steg #2 ' Radera siffran ur indexlistan som visades i steg2 ' Steg #3 ' Om Button2 klickas på igen så körs det om och nästa siffra, som finns kvar i listan visas med "Echo" ' Steg #4 ' När listan är tom så visas meddelande med echo "Listan nått sitt slut", samt att listan raderas ur minnet. End Sub Public rand As New Random Public Sub RandomNrExamle() Dim allNumbers As New List(Of Integer)(Enumerable.Range(1, 6)) Dim selectedNumbers As New List(Of Integer) For i As Integer = 0 To 5 Dim index As Integer = rand.Next(0, allNumbers.Count) Dim selectedNumber As Integer = allNumbers(index) selectedNumbers.Add(selectedNumber) allNumbers.RemoveAt(index) Next For Each i As Integer In selectedNumbers Console.WriteLine(i) Next End Sub End Class