En iyi yanıtlayıcılar
Arraylist dizi ile birbirinden farklı random atama

Soru
-
Merhabalar
arraylistin içine metinler atayarak bir listboxtan bir listboxa birbirinden farklı random metinler atamak istiyorum fakat yapamıyorum ya indis numarasını listbox yazıyor yada birbiri ile aynı randomlar içinde bulunuyor yardımcı olursanız sevinirim.Teşekkürler.
- Düzenleyen decobrayy 16 Aralık 2015 Çarşamba 12:56
Yanıtlar
-
Random r = new Random(Guid.NewGuid().GetHashCode());
Dogrusunu istersen, tekrarlaniyor derken ne demek istediini anlamak mumkun degil. Sonucta sonlu degerlerden uretiliyor. Daha simdi N kere denedim, 100,000 sayida cakisan maksimum 4 oldu. Bunu istemiyorsan, GUID gibi bir sey kullan.- Yanıt Olarak İşaretleyen Serkan Canseven 20 Aralık 2015 Pazar 14:21
-
Güzel kardeşim daha önce yanıtladık. Listeyi Guid ile sıralayıp karıştırabilirsin, böylece rastgele sıralanmış olur. Beş tane lazımsa Take ile 5 tane alırsın.
var karışıkListe = liste.OrderBy(p=> Guid.NewGuid()).Take(5);
bu sana liste içindeki elemanlardan rastgele farklı 5 adet eleman verir.
www.mvcblog.org
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com- Yanıt Olarak İşaretleyen Serkan Canseven 20 Aralık 2015 Pazar 14:21
-
stringleri listbox a aktardıktan sonra listeden kaldırıp aralığı tekrar belirlersen sorunun çözülür diye düşünüyorum
Her şeyi denediğin halde yapamadıysan henüz denemediğin şeyler var demektir.
- Yanıt Olarak İşaretleyen Serkan Canseven 20 Aralık 2015 Pazar 14:21
Tüm Yanıtlar
-
ArrayList linq extension destekliyormu bilmiyorum, muhtemelen destekliyordur;
var karışıkListe = liste.OrderBy(p=> Guid.NewGuid());
www.mvcblog.org
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com -
ArrayList linq extension destekliyormu bilmiyorum, muhtemelen destekliyordur;
var karışıkListe = liste.OrderBy(p=> Guid.NewGuid());
www.mvcblog.org
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com -
merhabalar ben random olacak ve birbirinden farklı olmasını sağlamayalıyım nasıl yapabilirim ?
- Birleştiren Önay YALÇINERModerator 20 Aralık 2015 Pazar 05:37 aynı soru
-
-
-
Random r = new Random(Guid.NewGuid().GetHashCode());
Dogrusunu istersen, tekrarlaniyor derken ne demek istediini anlamak mumkun degil. Sonucta sonlu degerlerden uretiliyor. Daha simdi N kere denedim, 100,000 sayida cakisan maksimum 4 oldu. Bunu istemiyorsan, GUID gibi bir sey kullan.- Yanıt Olarak İşaretleyen Serkan Canseven 20 Aralık 2015 Pazar 14:21
-
Güzel kardeşim daha önce yanıtladık. Listeyi Guid ile sıralayıp karıştırabilirsin, böylece rastgele sıralanmış olur. Beş tane lazımsa Take ile 5 tane alırsın.
var karışıkListe = liste.OrderBy(p=> Guid.NewGuid()).Take(5);
bu sana liste içindeki elemanlardan rastgele farklı 5 adet eleman verir.
www.mvcblog.org
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com- Yanıt Olarak İşaretleyen Serkan Canseven 20 Aralık 2015 Pazar 14:21
-
Anlatamadığım için özür dilerim şunu demek istiyorum benim arraylist'imde 40 adet string değer var ve ben bunu 5 adet listbox'a rastgele şekilde 4 4 4 4 ayırıcam fakat bazı listboxlarda aynı string değerler oluşuyor bunun oluşmamasını sağlamam lazım inşallah anlatabilmişimdir yinede verdiğiniz cevaplar için teşekkür ederim. :)
-
stringleri listbox a aktardıktan sonra listeden kaldırıp aralığı tekrar belirlersen sorunun çözülür diye düşünüyorum
Her şeyi denediğin halde yapamadıysan henüz denemediğin şeyler var demektir.
- Yanıt Olarak İşaretleyen Serkan Canseven 20 Aralık 2015 Pazar 14:21
-
Beni de yaniltmissin, olayin Random ile ilgisi yok, OrderBy( o => Guid.NewGuid()).
void Main() { string[] originalListe = new string[20]; for (int i = 0; i < 20; i++) { originalListe[i] = "String#"+i; } var karisik = originalListe.OrderBy(l => Guid.NewGuid()).ToList(); List<List<string>> listboxlar = new List<List<string>>(); for (int i = 0; i < 5; i++) { listboxlar.Add( karisik.Skip( i*4 ).Take(4).ToList() ); } listboxlar.Dump(); }
Not: ArrayList tarih oncesinde kaldi. 2.0 ciktigindan beri ArrayList'in esprisi yok.- Düzenleyen CetinBasozEditor 21 Aralık 2015 Pazartesi 11:31