9 Haziran 2008List Tipi’nin Metodları
Generics List<T> tipini projelerimde kullanıyorum. Gerçekten bazı metodları işimi çok kolaylaştırıyor.Bir Döngüde tek tek karşılaştırma işlemini yapmadan istediğim liste elemanlarını çekebiliyorum. En çok kullandığım metodları :
Find: Liste içinde verilen şarta uyan ilk elemanı getirir.
FindAll: Liste içinde şarta uyan tüm elemanları getirir.
FindIndex: Şarta uyan ilk elemanın listedeki sırasını getirir. Şarta uyan eleman yoksa -1 döner.
Exists: Verilen şartta uyan liste elemanın olup olmadığı bilgisini döner. Dönüş tipi Boolean.
Kullanımı şu şekilde:
public class CountryModel
{
private int _countryModelID;
private string _countryModelName;
public int CountryModelID
{
get { return _countryModelID; }
set { _countryModelID = value; }
}
public string CountryModelName
{
get { return _countryModelName; }
set { _countryModelName = value; }
}
public void GetItemFromList(List<CountryModel> countryModelList)
{
CountryModel countryModel = null;
try
{
//elimizde liste var kabul ediyoruz.
if (countryModelList != null && countryModelList.Count > 0)
{
//countryModel Id si 1 olanları çekmek isteyelim. Normalde db’den çektiğimiz verilerle karşılaştırma yapılabilir.
int compareValue = 1;
//countryMdl Id si 1 olan ilk elemanı getirir.
countryModel = countryModelList.Find(delegate(CountryModel cntryMdl) { return cntryMdl.CountryModelID == compareValue; });
// countryMdl Id si 1 olan tüm elemanları getirir.
List<CountryModel> cntryMdlList = countryModelList.FindAll(delegate(CountryModel cntryMdl) { return cntryMdl.CountryModelID == compareValue; });
//birden fazla sart verilebilir.countryMdl Id si 1 olan ve countrymodel name i Deneme olan ilk kaydın indexini getirir.
int index = countryModelList.FindIndex(delegate(CountryModel cntryMdl)
{ return cntryMdl.CountryModelID == compareValue && cntryMdl.CountryModelName == “Deneme”; });
}
}
catch (Exception ex)
{
//write log when an error is occurred.
ExceptionPolicy.HandleException(ex, “Business”);
}
finally
{
if (countryModelList != null) countryModelList = null;
}
}
}