// Örnek için hazırlanan Insan yapısı
public struct Insan
{
public string Ad { get; set; }
public string Soyad { get; set; }
public int Yas { get; set; }
public bool Askerlik { get; set; }
public override string ToString()
{
return Ad + " " + Soyad;
}
}
// Extension metotların tanımlandığı sınıf
public static class ExtensionsMethods
{
// string parametre'ye göre index bulan metot - eğer değere uygun kayıt yoksa -1 döner
public static int Index<T>(this IEnumerable<T> veriler, string parametre)
{
int sonuc = -1, varmi = 0;
foreach (T veri in veriler)
{
sonuc++;
if (veri.ToString() == parametre) break;
else { varmi++; }
}
if (varmi == veriler.Count()) { sonuc = -1; }
return sonuc;
}
// Lambda Expressions ile sorgulama yapılabilen ve sonuçta veriler elde edilen metot
public static IEnumerable<T> BulGetir<T>(this IEnumerable<T> veriler, Func<T, bool> expressions)
{
List<T> sonuc = new List<T>();
foreach (T veri in veriler)
{
if (expressions(veri))
{
sonuc.Add(veri);
}
}
return sonuc;
}
}