Anti Patterns–Any vs. Count

 

   1: static void Test()

   2: {

   3:     var list1 = new List<int> { 1, 2, 3, 4, 5 };

   4:  

   5:     if (list1.Count > 0)

   6:     {

   7:         Console.WriteLine("if - count");

   8:     }

   9:     if (list1.Any())

  10:     {

  11:         Console.WriteLine("if - any");

  12:     }

  13:  

  14:     Console.ReadLine();

  15: }

 

Wo liegt der Unterschied zwischen list1.Count und list1.Any? In erstem Fall wird die Liste durchiteriert, um herauszufinden, wie viele Elemente in der Liste sind. Bei Any wird nur geprüft, ob überhaupt ein Element in der Liste ist. Bei einer Prüfung > 0 ist also Any die bessere Wahl, weil die Liste nicht durchiteriert werden muss! Bei 100000 Elementen kann sich das durchaus lohnen…

image

Mit Tag(s) versehen:

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: