Tengo una ArrayList y necesito poder hacer clic en un botón y luego elegir aleatoriamente una cadena de esa lista y mostrarla en un cuadro de mensajes.
¿Cómo haría esto?
Solución
-
Cree una instancia de clase en algún lugar. Tenga en cuenta que es muy importante no crear una nueva instancia cada vez que necesite un número aleatorio. Debe reutilizar la instancia anterior para lograr uniformidad en los números generados. Puede tener un campo en algún lugar (tenga cuidado con los problemas de seguridad de la rosca):
Random
static
static Random rnd = new Random();
-
Pida a la instancia que le dé un número aleatorio con el máximo del número de elementos en el :
Random
ArrayList
int r = rnd.Next(list.Count);
-
Mostrar la cadena:
MessageBox.Show((string)list[r]);
Otras respuestas
Impresión aleatoria del nombre del país desde el archivo JSON.
Modelo:
public class Country
{
public string Name { get; set; }
public string Code { get; set; }
}
Implementación:
string filePath = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, @"......")) + @""DataCountry.json""