Quiero escribir un programa C# que ejecuta varios métodos A(), B() y C() en orden aleatorio. ¿Cómo puedo hacer eso?Métodos de llamada en orden aleatorio (C#)
6
A
Respuesta
14
Suponiendo un generador de números aleatorios declarada como esto:
public static Random Rnd = new Random();
Vamos a definir una función Shuffle
traer una lista en orden aleatorio:
/// <summary>
/// Brings the elements of the given list into a random order
/// </summary>
/// <typeparam name="T">Type of elements in the list.</typeparam>
/// <param name="list">List to shuffle.</param>
/// <returns>The list operated on.</returns>
public static IList<T> Shuffle<T>(this IList<T> list)
{
if (list == null)
throw new ArgumentNullException("list");
for (int j = list.Count; j >= 1; j--)
{
int item = Rnd.Next(0, j);
if (item < j - 1)
{
var t = list[item];
list[item] = list[j - 1];
list[j - 1] = t;
}
}
return list;
}
Este aleatoria aplicación cortesía de romkyns!
Ahora basta con poner los métodos en una lista, reproducción aleatoria, a continuación, ejecutar ellos:
var list = new List<Action> { A, B, C };
list.Shuffle();
list.ForEach(method => method());
Cuestiones relacionadas
- 1. Devuelve filas en orden aleatorio
- 2. matriz multidimensional en orden aleatorio
- 3. devolución de llamada en C#, orden de llamada y devolución
- 4. Orden aleatorio de filas Matlab
- 5. Métodos de llamada usando nombres en C#
- 6. C# Métodos de llamada en clases genéricas
- 7. MapReduce método de orden aleatorio
- 8. orden aleatorio de imágenes en php
- 9. linq: ordenar por orden aleatorio
- 10. C# Métodos de extensión - devolver llamada objeto
- 11. Reorganizar NSArray/MSMutableArray en orden aleatorio
- 12. Métodos de llamada C del código C++/Java/C#?
- 13. php orden aleatorio de un foreach
- 14. Algoritmo para generar orden aleatorio de elementos
- 15. Métodos de llamada C# de C++ sin usar COM
- 16. ¿Cómo hacer un orden controlado "aleatorio"?
- 17. Visitar los puntos en un triángulo en un orden aleatorio
- 18. Esquema XSD que permite el orden aleatorio
- 19. llamada de función en orden incorrecto
- 20. Métodos de llamada por cadena
- 21. Internet Explorer muestra atributos XML en orden aleatorio
- 22. ¿Puedo hacer que NUnit ejecute pruebas en orden aleatorio?
- 23. Ruby - Ejecutando pruebas en orden aleatorio con rastrillo
- 24. Acceso aleatorio CSV; C#
- 25. Eclipse organizar métodos en orden alfabético
- 26. Orden de llamada al constructor en herencia virtual
- 27. Ruby mixins y super métodos de llamada
- 28. Orden de constructores/destructores de llamada en herencia
- 29. Generador de C# aleatorio real
- 30. Constructores de la orden de llamada
Gjorgji, la idea GUID es terrible. Por favor al menos ordene por Aleatorio - o mejor aún, use el algoritmo más votado. Tome la pista de esos votos: la comunidad le dice cuál es mejor. –
una idea muy terrible, por lo que no encontrará nada en google si lo busca http://www.google.com/search?q=orderby+%22Guid.NewGuid%22 –
@Pauli, su creencia es cualquier cosa que encuentres en Google es automáticamente una buena idea? –