class veriler { public string adi { get; set; } public string soyadi { get; set; } public double ucreti { get; set; }
public override string ToString() { return String.Format("{0} {1}", adi, soyadi); } }
class Program { static void Main(string[] args) { List<veriler> vr = new List<veriler>() { new veriler(){adi="murat",soyadi="turan", ucreti=19}, new veriler(){adi="kadir",soyadi="sağlam", ucreti=87}, new veriler(){adi="duygu",soyadi="sipahi",ucreti=54}, new veriler(){adi="murat",soyadi="bakdur", ucreti=44} };
//asagidakiyle ayni. burada type inference (tip tahmini) soz konusudur var vx = vr.FindAll(p => p.adi =="murat");
var vy = vr.FindAll((veriler p) => p.adi == "murat");
//buda yukaridakilerle ayni sonucu donduruyor. fark arada ek kod blogu vardir //ve sarta uyan satirlarda soyad buyuk harfe dondurulur. return true olması //adi murat olanlarin vy2 ye eklenecegi digerlerinin reddedilecegi anlamina gelir. //burada Predicate temsilcisinin bool sonuc istemesi disinda metod cagrisida yapilabilmektedir.
var vy2 = vr.FindAll(p => { if (p.adi == "murat") { p.soyadi = p.soyadi.ToUpper(); return true; } else return false; });
foreach (var item in vy2) { Console.WriteLine(item); }
Console.WriteLine("");
//benzer islem linq ile. yine benzer sonuc donecektir. var vq = from q in vr.AsEnumerable() where q.adi.Equals("murat") select q;
var vq2 = from q in vr.AsEnumerable() where q.adi.Equals("murat") select new { q.soyadi, q.adi };
//burada ise adi murat olan kayitlarin maas toplamlari bulunmustur double maastoplam = vr .Where<veriler>(p => p.adi == "murat") .Sum<veriler>(p => p.ucreti);
Console.WriteLine("maas toplamlari: {0}", maastoplam);
Console.ReadLine();
} }
------------- http://www.kasatakip.com - Kasa Takip | http://www.caritakip.com - Cari Takip | http://www.evraktakip.com - Evrak Takip | http://www.etasqlmobil.com - ETA SQL Mobil
|