using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp11
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//List Sinifi
//list nesnesinin performansını gösteren örnek bir uygulama yapalım,,
//1000 adet rastgele sayıyı listbox içersine ekleyeceğiz,
//Sayılar rastgele olarak eklendiği için hali ile içerisinde tekrarlanan
//sayılar olacaktır.İçeç içe for döngüsünü kulanarak tekrarlı sayılar silinecek,diğer
//yöntemdede ise list nesnesini kullanarak sayıların tekrarsız biçimde yazılmasını sağlarız...
DateTime baslangiczamani;
DateTime bitis;
TimeSpan fark;
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
Random rastgele = new Random();
int sayi;
for (int i = 0; i < 1000; i++)
{
sayi = rastgele.Next(1, 100);
listBox1.Items.Add(sayi.ToString());
}
}
private void button2_Click(object sender, EventArgs e)
{
baslangiczamani = DateTime.Now;
for (int i = 0; i < listBox1.Items.Count-1; i++)
{
for (int j = 0; j < listBox1.Items.Count; j++)
{
if (listBox1.Items[i].ToString() == listBox1.Items[j].ToString())
listBox1.Items.RemoveAt(j);
}
}
bitis = DateTime.Now;
fark = bitis.Subtract(baslangiczamani);
label1.Text = fark.TotalSeconds.ToString() + " sn";
}
private void button3_Click(object sender, EventArgs e)
{
baslangiczamani = DateTime.Now;
List<string> liste = listBox1.Items.OfType<string>().ToList();
listBox1.Items.Clear();
listBox1.Items.AddRange(liste.Distinct().ToArray());
bitis = DateTime.Now;
fark = bitis.Subtract(baslangiczamani);
label2.Text = fark.TotalSeconds.ToString() + " sn";
}
}
}