Paweł Łukasiewicz
2019-06-18
Paweł Łukasiewicz
2019-06-18
Wprowadzenie
Poprzednie dwa wpisy z serii możecie znaleźć klikając w poniższe linki:
W tej cześci skupimy się na porównaniu (z pozoru błachej) funkcjonalności jaką jest operacja sprawdzenia zawartości naszej listy. Wielu z nas przywykło do użycia List.Count() w celu sprawdzenia czy dana kolekcja jest pusta. Porównamy czasy wykonania List.Count, List.Count() oraz List.Any().
Porównanie
Nic nie sprawdza się lepiej niż własnoręcznie napisany kod:
static void Main(string[] args)
{
Stopwatch stopwatch = new Stopwatch();
List<string> list = new List<string>()
{
"Audi RS6",
"Pagani Huayra",
"Maserati Gran Tourismo",
"Nissan GTR",
"Lamborghini Huracan Performante"
};
stopwatch.Start();
// List.Count - właściwość
if (list.Count > 0)
Console.WriteLine("List.Count: " + stopwatch.ElapsedTicks.ToString());
// List.Count() - metoda
if (list.Count() > 0)
Console.WriteLine("List.Count(): " + stopwatch.ElapsedTicks.ToString());
// List.Any() - metoda
stopwatch.Restart();
if (list.Any())
Console.WriteLine("List.Any(): " + stopwatch.ElapsedTicks.ToString());
Console.ReadKey();
}
Podsumowanie
Najlepszym podsumowaniem tego krótkiego wpisu jest poniższy zrzut ekranu:
Jeżeli chcemy sprawdzić czy na naszej liście znajdują się jakieś elementy najlepiej posłużyć się właściwością List.Count.