Yenilik anlamında son sürüme eklenen LINQ sayesinde, koleksiyonlar üzerinde SQL Komutlarını kolayca çalıştırabilmekteyiz. Bu sayede hem tip uyuşmazlıklarını engelleme şansınız oluyor hemde koda eklemeniz gereken bir çok if-for vs. satırlarından kurtulabiliyorsunuz. Şimdi sizlere kullanıcı tanımli bir class oluşturup konuyu anlamanızı sağlayacağım. İlk olarak uygulamaya bir adet Class ekleyerek kodunu aşağıdaki şekilde belirleyiniz.

namespace WindowsFormsApplication107
{
class Degerler
{
public String Ad;
public String Tel;
}
}

Bu aşamadan sonra bir çok kişiyi kapsaması maksadıyla bu sınıfta bir adet dizi değişken (koleksiyon oluşturacağız) tanımlayarak uygulamada kullanacağız.

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;
using System.Collections;

namespace WindowsFormsApplication107
{

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button4_Click(object sender, EventArgs e)
{
Degerler[] San = new Degerler[3];
San[0] = new Degerler();
San[0].Ad = “Nihat”;
San[0].Tel = “123”;
//
San[1] = new Degerler();

San[1].Ad = “Murat”;
San[1].Tel = “123”;
//
San[2] = new Degerler();

San[2].Ad = “Ahmet”;
San[2].Tel = “1233”;
//
var Deg = from s in San where s.Tel == “123” select s;//Bu satıra dikkat edin
foreach (var Eleman in Deg)
{
MessageBox.Show(Eleman.Ad);
}
}
}
}

Burada var bildirisiyle tanımlanan Deg isimli değişken sayesinde telefonu 123 olan kişileri kolaylıkla ayıklıyabiliyoruz. var satırını aşağıdaki gibi değiştirecek olursanız o zaman tüm elemanlara değil sadece istediğinize erişme şansınız olacaktır.

//
var Deg = from s in San where s.Tel == “123” select s.Ad;
foreach (var Eleman in Deg)
{
MessageBox.Show(Eleman);
}

Bu durumda dikkat edin kullanıcı tanımlı olan Degerler isimli sınıftan sadece “Ad” isimli değişkene erişim sağlamış olduk.