SORU
24 Temmuz 2009, Cuma


SERİ tarafından listedeki bir öğeyi bulmak?

Burada dizelerin listesindeki bir öğeyi bulmak için basit bir örnek var. Normalde döngü veya anonim temsilci için böyle yapmam kullanın:

int GetItemIndex(string search)
{
   int found = -1;
   if ( _list != null )
   {
     foreach (string item in _list) // _list is an instance of List<string>
     { 
        found  ;
        if ( string.Equals(search, item) )
        {
           break;
        }
      }
      /* use anonymous delegate
      string foundItem = _list.Find( delegate(string item) {
         found  ;
         return string.Equals(search, item);
      });
      */
   }
   return found;
}

SERİ benim için yeni. Eğer ETMENİZ listesinde öğeyi bulmak için kullanabilirsiniz eğer ben merak ediyorum? Nasıl mümkün?

CEVAP
24 Temmuz 2009, Cuma


Bir kaç yolu var (not budeğilliste tamamlandı).

1) Single Tek bir sonuç dönecektir, ama eğer yok ya da birden fazla olabilir ya da olmayabilir) daha bulursa, bir özel durum oluşturur:

string search = "lookforme";
List<string> myList = new List<string>();
string result = myList.Single(s => s == search);

2) Where kriterlerinize uygun olan tüm öğeleri döndürür, bir öğe ile bir IEnumerable alabilirsiniz:

IEnumerable<string> results = myList.Where(s => s == search);

3) First kriterlere uyan ilk öğeyi döndürür:

string result = myList.First(s => s == search);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • A Alkhaldi

    A Alkhaldi

    12 Mayıs 2007
  • discokatze

    discokatze

    23 EYLÜL 2009
  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009