Çözüldü C# rastgele seçilen değere değer atama

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

371129

Hectopat
Katılım
28 Eylül 2020
Mesajlar
3.797
Makaleler
9
Çözümler
12
[CODE title="Kısa" highlight="2"] Random rastgele = new Random();
int rsayi = rastgele.Next(1, 5);[/CODE] Örneğin burada 1 ile 5 arasında rastgele bir sayı çağırdım. Çağırdığım sayıya nasıl bir isim atarım? Yani şöyle düşünün eğer sayı 5 ise şunu yazsın tarzında. İf dışında kolay bir yöntemi var mı?
 
Çözüm
Switch case ile birden fazla potansiyel değer için bakabilirsin. Onun dışında kendin bile cümleyi kurarken if kullanıyorsun. Ne bekliyordun ki?
[CODE title="Kısa" highlight="2"] Random rastgele = new Random();
int rsayi = rastgele.Next(1, 5);[/CODE] Örneğin burada 1 ile 5 arasında rastgele bir sayı çağırdım. Çağırdığım sayıya nasıl bir isim atarım? Yani şöyle düşünün eğer sayı 5 ise şunu yazsın tarzında. İf dışında kolay bir yöntemi var mı?
Hocam 5 tane olduğu için en kolay yöntemi şu: 5 tane elemanı olan bir string listesi oluşturun. Bu string listesinin random 1,5 arası bir elemanını seçin.
 
Yoksa "Sayı 5 olursa" da diyebilirdim.
Olur-sa. Orada da if var. Hayatım boyunca eğer kelimesi kaldırılınca anlamında gerçekten kayda değer bir değişim olan Türkçe bir cümle bulamadım. Bulursanız haber verin lütfen.
 
Tam anlatamadım sanırım. Eğer kelimesi olan bir cümle alıyoruz. Ve ondan eğer kelimesini çıkartınca cümle anlamsızlaşıyor. Demek istediğim buydu. Yoksa aynı anlama gelen bir sürü cümle yazılabilir.
Anladım fakat birazcık uzatmak istedim. Ayrıca size farklı bir şey sorabilir miyim? Dil öğrenme ile alakalı.
 
Arkadaş eksantrik bir cevap istiyor. Öyle ise;

C#:
Random rastgele = new Random();

List<Action> methodList = new List<Action>();
methodList.Add(() => Console.WriteLine("0 seçildi."));
methodList.Add(() => Console.WriteLine("1 seçildi."));
methodList.Add(() => Console.WriteLine("2 seçildi."));
methodList.Add(() => Console.WriteLine("3 seçildi."));
methodList.Add(() => Console.WriteLine("4 seçildi."));
methodList.Add(() => Console.WriteLine("5 seçildi."));

int rsayi = rastgele.Next(0, 6);
methodList[rsayi].Invoke();
 

Geri
Yukarı