A(), B() ve C() yöntemlerini rasgele sırada yürüten bir C# programı yazmak istiyorum. Bunu nasıl yapabilirim?Yöntemler rasgele sırada çağırılıyor (C#)
6
A
cevap
14
bu gibi bildirilen bir rastgele sayı üreteci varsayarsak:
public static Random Rnd = new Random();
en rasgele içine listesini getirmek için bir Shuffle
fonksiyonunu tanımlayalım: romkyns ait
/// <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;
}
Bu Karışık uygulama nezaket!
Şimdi sadece bir listede yöntemleri koymak, shuffle, sonra bunları çalıştırın:
var list = new List<Action> { A, B, C };
list.Shuffle();
list.ForEach(method => method());
İlgili konular
- 1. NSArray/MSMutableArray öğelerini rasgele sırada yeniden ayarlayın
- 2. C# dan bir F # İşlevi çağırılıyor
- 3. C# 4.0, Anında Yöntemler?
- 4. C# Statik Yöntemler
- 5. Django ModelAdmin nesneleri üzerinde rasgele yöntemler veya öznitelikler kullanarak alanlar?
- 6. AngularJP'den bir php dosyası çağırılıyor
- 7. C++ kalıtım, temel yöntemler gizli
- 8. C#: En İyi Yöntemler Debug.Print
- 9. C# .NET 4.0 Visual Studio 2010 Konsol Uygulamasında UrlDecode Çağırılıyor?
- 10. jquery'den php işlevi çağırılıyor mu?
- 11. node.js kodundan javascript kodu çağırılıyor
- 12. Yöntemler
- 13. Kullanıcı denetimi içindeki genel yöntemler C# .net
- 14. C# özellikleri aslında Yöntemler midir? Bugüne kadar
- 15. C# sanal (veya soyut) statik yöntemler
- 16. Neden C++ 11 rasgele dağılımlar değişebilir?
- 17. C# ile rasgele sayıları nasıl kullanabilirim?
- 18. Rasgele Sayılar Nesnel-C İçinde Güvenli Oluşturma
- 19. Rserve'den ggplot çağırılıyor. Boş png görüntüsü 1KB
- 20. C# TBB (C# kod parçası) kullanıcı tanımlı yöntemler nasıl eklenir?
- 21. C++ 'da başka bir vektörle ters sırada vektör nasıl eklenir?
- 22. Ters sırada C# LinkedList öğesinin dönüşü nasıl yapılır
- 23. Bu yuva neden iki kez çağırılıyor?
- 24. "Çağırılıyor" Etkinlik örneği, çağrılan Etkinlik'ten nasıl alınır?
- 25. Çekirdek hatası cuda-gdb üzerinden mi çağırılıyor?
- 26. PHP sihirli yöntemler örnek
- 27. Functons, statik yöntemler veya normal yöntemler
- 28. Polimorfizm ve Statik Yöntemler
- 29. Java iki senkronize yöntemler
- 30. Rasgele hızlı Rasgele hızlı uygulanması için
Corci, GUID fikri korkunç. Lütfen en azından Rastgele sipariş verin - ya da daha iyisi, en çok kullanılan algoritmayı kullanın. Bu oylardan ipucu alın - toplum size hangisinin daha iyi olduğunu anlatıyor. –
çok korkunç bir fikir, bu yüzden eğer http://www.google.com/search?q=orderby+%22Guid.NewGuid%22 –
@ Pauli 'ye bakarsanız google'da hiçbir şey bulamadınız. Google’da bulduğunuz her şey otomatik olarak iyi bir fikirdir? –