wtorek, 19 czerwca 2012

Wyszukiwanie po kolekcjach LINQ (.Net 3.5,.Net 4.0)

Kiedy można wykorzystać LINQ?

W przypadku, gdy mamy aplikację, która przetwarza dane na różne sposoby i chcemy skrócić czas na obsługę wyszukiwania po kolekcjach to począwszy od Net 3.5 przychodzi z pomocą mechanizm: LINQ. Język c sharp został wyposażony w mechanizm LINQ, aby nie trzeba było tworzyć samemu delegata z warunkami wyszukiwania np. dla metody  FindAll().


Nie będę przedstawiał zbyt dużej ilości kodu, gdyż w tych miejscach "Introducing LINQ" 101 LINQ Samples  jest świetne opisany LINQ.


Poniżej przedstawiłem LINQ z składnią znaną w języku SQL. Można także LINQ zapisać wykorzystując notację Lambda (Lambda Expressions).





     public void methodTest()
     {
            List<String> mainList = new List<string>();
            mainList.Add("first");
            mainList.Add("ala");

            List<String> foundAla = (from item in mainList where
                                         (item == "ala") select item ).ToList();
     }


Pytanie na ile krótsza notacja wyszukiwania LINQ oraz Lambda w języku c sharp zmniejsza wydajność aplikacji? Wydaje się, że jest to tylko umieszczenie odpowiedniego delegata w kodzie przez kompilator.

Brak komentarzy: