Son Haberler
Anasayfa / Yazılım / C# / Random Sınıfı – Diziler ve Döngüler

Random Sınıfı – Diziler ve Döngüler

Bu örnek gelen sorular içinden. Bir Listbox içindeki var olan elemanları rasgele okuyup form üzerinde bulunan bir buton kontrolünün text özelliğine bunu yazdırmak..

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //Random sınıfımı oluşturuyorum
            Random rnd = new Random();
            //Listbox kontrolümdeki eleman sayısını alıyorum.
            int ListBoxAdet = listBox1.Items.Count;
            //Bu alınan eleman sayısına göre bir string dizi oluşturuyorum
            string[] dizi = new string[ListBoxAdet];
            //For döngüsü ile listbox içinde dönüyor elemanları dizime ekliyorum, foreach ile de dönebiliriz.
            for (int i = 0; i < ListBoxAdet; i++)
            {
                dizi[i] = listBox1.Items[i].ToString();
            }
            //rasgele bir sayı üretiyorum, 0 ile Listbox içindeki eleman sayısı kadar.
            int rasgele = rnd.Next(0, ListBoxAdet);
            //Butonun text özelliğine bu değerimi aktarıyorum.
            button1.Text = dizi[rasgele];      


        }
    }
}

{filelink=29}

2 yorum

  1. Kadir Malakcıoğlu

    Bu programı şu şekilde değiştirmek mümkün müdür ?

    diyelim ki bilgi yarışması tarı birşey yapıyoruz veri tabanında bilgiler a b c d seçeneklerinde kayıtlı ben bu a b c d seçeneklerini formda bulunan 4 adet textbox ‘ a rast gele yerleştirmek istiyorum bu kodu ne şekilde düzenlememiz gerek yardımcı olabilir misiniz ?

  2. Kod olarak yazmıyorum ama fikir vereyim. Veritabanında bu 4 seçenek bilgi ayrı ayrı bir tablonun kolonlarında yer alsın diyelim. Bu verileri veri tabanından okursunuz, okumuş olduğunuz bu verileri bir string dizi ya da bir List içine atabilir. Ve bu dizi veya List içinde yer alan verileri rastgele olarak form üzerinde yer alan textbox içine atayabilirsiniz. Bu dizi içinde de rastgele dolaşmak için randol fonskiyonu ile dizinin indeks numarasına göre rasgele atama yapabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir