Was ist die beste oder interessanteste Erweiterung Methoden die du gesehen hast?

Fange ich an, wirklich zu lieben Erweiterung Methoden... ich Frage mich, ob jemand hat Sie gestoßen, die wirklich blies Ihren Geist, oder einfach nur clever gefunden.

Beispiel schrieb ich heute:

Bearbeitet durch andere Nutzer Kommentare:

public static IEnumerable<int> To(this int fromNumber, int toNumber) {
    while (fromNumber < toNumber) {
        yield return fromNumber;
        fromNumber++;
    }
}

Dies ermöglicht eine for-Schleife geschrieben werden, wie eine foreach-Schleife:

foreach (int x in 0.To(16)) {
    Console.WriteLine(Math.Pow(2, x).ToString());
}

Ich kann nicht warten, um zu sehen, andere Beispiele! Genießen Sie!

  • Ausgezeichnet! Ich Liebe es.
  • Ihre Methode ist meist eine Reimplementierung von Enumerable.Range (msdn.microsoft.com/en-us/library/...). Der Unterschied ist die Reichweite nimmt eine start-und eine Zählung, während Ihnen nimmt ab und zu. Deins geht auch gegen normale bounding-Praxis (<), indem Sie die high-end - (<=). Schließlich kann es nach hinten Los geht, aber das ist selten in der Praxis notwendig.
  • +1 Hmm, ich wusste nicht, dass das existierte, danke für den link! Du hast Recht über die bounding... das war nur ein Beispiel ich warf zusammen in ein paar Minuten - die zweite, die Sie versuchen zu tun, "0.Zu(myList.Count)" erhalten Sie eine Ausnahme.
  • Geht gegen normale bounding pratcice? Unsinn. "0 16" ist immer inclusive in speec und Konzept. In for-Schleifen, ist es normal zu benutzen, max+1 als die Zahl in dem Zustand, einfach deshalb, weil die Indizes in einer 5-item-Liste gehen 0...4 und es ist sinnvoller zu schauen, "< "5" als "<= 4".
  • Lesen Sie hier: stackoverflow.com/questions/271398/...
  • haha. fast vb.net syntax erstellt mit einer Erweiterung Methode...
  • Ich denke for(int x=0; x<=16; ++x) mehr lesbar für erfahrene Programmierer. Aber, abgeschlossene Intervalle sind eher selten.
  • Es ist Fragen wie diese, die machen mir den Wunsch, mehr zu schreiben C#...

Schreibe einen Kommentar