C#-Übungen

Eine eigene Erweiterungsmethode für Folgen schreiben in C#

In dieser Lektion schreibst du die Erweiterungsmethode None() für jede Datenfolge, die prüft, ob kein Element eine Bedingung erfüllt.

Einführung

Mit Erweiterungsmethoden ergänzt du vorhandene Typen um Operationen mit verständlichen Namen. Hier schreibst du die Methode None, das Gegenstück zu Any aus LINQ: Sie gibt true zurück, wenn kein Element die Bedingung erfüllt.

Die Methode None<T> erweitert IEnumerable<T> und funktioniert deshalb mit Arrays, List und jeder anderen Folge. Die Schleife durchläuft jedes Element und gibt false zurück, sobald ein Element die Bedingung erfüllt, wird das Ende erreicht, gibt sie true zurück. Das Array [1, 3, 5] enthält keine gerade Zahl, deshalb ist das Ergebnis True.

Ausführbares C#-Beispiel

C#
Code ausführen →
Program.cs
using System;
using System.Collections.Generic;
static class EnumerableExtensions
{
    public static bool None<T>(this IEnumerable<T> source, Func<T, bool> predicate)
    {
        foreach (T item in source) if (predicate(item)) return false;
        return true;
    }
}
class Program
{
    static void Main() => Console.WriteLine(new[] { 1, 3, 5 }.None(number => number % 2 == 0));
}
Ergebnis der Ausführung
True

Mit dem Debugger üben

Setze einen Haltepunkt auf eine wichtige Zuweisung oder Bedingung, klicke auf Debug und sieh dir die lokalen Werte an, bevor du zur nächsten Zeile gehst.

Mit einer Challenge üben

Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.

Alle Challenges