Skip to main content

Posts

Showing posts with the label index

Care este cea mai rapida metoda pentru a obtine index-ul unui element din IEnumerable

De cate ori nu v-ati lovit de acest caz? Sa aveti un obiect de tip enumerable si sa fim nevoiti sa obtineti indexul unui element. Exista mai multe metode pentru a rezolva aceasta problema, cea mai simpla din ele este: obj.ToList().FindIndex( x => x =="Blog" ) Pentru cazul in care am cautat elementul care are valoarea "Blog". Daca ne punem problema vitezei putem sa scriem noi o metoda popie: public static int FindIndex<T>(this IEnumerable<T> elemente, Predicate<T> conditie) { int index = 0; foreach (var item in elemente) { if (conditie(item)) { return index; } index++; } return -1; } Prima optiune ne sperie putin din cauta la ToList(). Ne punem problema performantei, am prefera parca sa nu folosim ToList() si sa mergem pe metoda scrisa de noi. elemente.Select((item, index) => new { item, index }) ...