C# Liste (List) Kullanımı – Web Tasarım & Programlama
C# Programlama

C# Liste (List) Kullanımı

List < T > Class Nedir

Koleksiyon sınıfları özel tasarlanmış nesneleri ve onlara ait olan görevleri yerine getirmek için oluşturulmuş olan nesnelerdir.  List Class System.Collections.Generic isim uzayı içinde tanımlanmış metodlar, özellikler ve diğer sınıflarda olduğu gibi insert, remove, search vb.  nesneleri barındırmaktadır. List class diziler(array) ve veri yapıları (data structure) nesneleri yerine kullanılır. List sınıfları kullanıldığında dizi üzerindeki boyutundaki esneklik yanı sıra ek özellikleri de kolaylık sağlamaktadır.

C# List < T > sınıfı nesnelerin türünü oluşturulduğunda belirtme zorunluluğu göstermektedir.

 List < T > Oluşturma

T parametresi listedeki nesnelerin türünü ifade etmektedir.

Oluşturulan List Nesnesine Değer Ekleme

List Nesnesinin Uzunluğunu Alma

List Nesnesinin Değerlerini Okuma (foreach)

C# List içindeki verileri yazdırmak için aşağıdaki iki döngüden biri kullanılarak değerleri ekrana yazdırma işlemi yapılabilir.

List Nesnesindeki Değerleri Okuma (for)

C# List.ForEach Methodu ile Değerleri Okuma

List.ForEach  işlevi liste içindeki her öge için belirtilen işlevi uygular. foreach ifadesi ile aynı görevi görmektedir.

 

List Nesnesinden Değer Çıkarma

Remove Silinmesini istenilen değeri siler. Silinecek değer liste içinde birden fazla olması durumunda ilk değeri kaldırır. Bu metodu genellikle referans tipler ile değer çıkarmak için kullanılır. Fakat değer tipleri ile de kullanılabilir.

List Nesnesinden Index Numarası ile Değer Çıkarma

RemoveAt silinecek index numarasını parametre olarak alır.

 

C# List İçinde Arama

List.Contains() metodunu kullanarak bir nesnenin listede olup olmadığını kontrol ettirebilirsiniz.

 

BinarySearch metodu, kendisine verilen değerin listede kaçıncı sırada olduğunu döndürür. Aranan değer liste içinde yoksa negatif bir değer döndürür.

 

C# Diziyi Listeye Çevirme

List Nesnesini Boşaltma

isimler.Clear ();

 

C# List Nesnesine Nesne Ekleme

Aşağıdaki şekilde Kisi adında oluşturduğumuz sınıfı  oluşturduğumuz liste nesnesine ekleyelim.

 

Kisi sınıfını kullanan List Örneği

Yöntem 1

 

Yöntem 2

Listeyi Ekrana Yazdırma

 

C# List Kullanımı ile İlgili Örnek

1-49 arasındaki sayılar bir listeye aktarıyoruz.  for döndüğü içinde sırasıyla bir değer seçip, değeri listeden çıkarıyoruz.

 

 

 

Yorum

  • Bu konu ile alakali birsey soracagim izninizle.

    Diyelim :

    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 containsdenemeler
    {
    public partial class Form1 : Form
    {

    public int sira;
    public string isim;
    public int yas;
    public List Kisiler = new List();

    public Form1()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    isim = textBox1.Text;

    //—– 1.durum, ayni nesnenin olup olmadiiginin kontrol edilmedigi direk eklendigi

    //Kisiler.Add(new Kisi(isim, Convert.ToInt16(textBox2.Text)));

    //————————————-

    //2.durum contains ile kontrol (ama ali 20 gir mesela ayni nesne ekleniyor

    if (!Kisiler.Contains(new Kisi(isim, Convert.ToInt16(textBox2.Text)))) ;
    {
    Kisiler.Add(new Kisi(isim, Convert.ToInt16(textBox2.Text)));
    }
    //———————————————

    Listele();

    }
    void Listele()
    {
    listBox1.Items.Clear();

    foreach (var liste in Kisiler)
    {
    listBox1.Items.Add(” Isim :” + liste.isim + ” Yas :” + liste.yas);
    }
    }
    }

    }

    sinifin icinde de

    namespace containsdenemeler
    {
    public class Kisi
    {

    public string isim;
    public int yas;

    public Kisi (string isimtemp, int yastemp )
    {
    this.isim = isimtemp;
    this.yas = yastemp;
    }

    }
    }
    Burada Contains in calismamasinin sebebi nedir?

    Tesekkür ederim.

    • var kontrol = Kisiler.Exists(x => x.Isim == isim && x.Yas==yas);
      if (!kontrol)
      {….}

      şeklinde denermisiniz. Bu arada yas değişkenine textbox2 den alırsınız.

      • Yanitiniz icin tesekkür ederim. Ben diyagram cizip o nesneleri hesaplatmaya calisiyorum. Bunu kismen kullaniyorum da degisken sayim bir hayli fazla. c# da list i ilk kez kullaniyorum. contains deki benim bilmedigim ayrinti nedir?

        Bu arada benim yapmaya calistigim kisaca :

        nesne pin pin nesne pin nesne pin
        INPUT Outputpin——->inputpin NORD WEST CORNERS outputpin—————>Ipin MODIout pin——–inputpin OUTPUT

        gibi cizim icin de gözünüzde canlanmasi icin Proteus ISIS gelsin.

        Tesekkür ederim.

Yorum Yap