Feedback

C# - StartsWidth/EndsWith mit mehreren Suchparametern

Veröffentlicht von am 30.05.2013
(2 Bewertungen)
Diese Methoden sind als Erweiterungen für den System.String-Typ implementiert. Sie entsprechen der Grundfunktionalität der StartsWith und EndsWith-Methoden. Nur das man bei meinen mehrere Vergleichswerte übergeben kann.

Das kann man beispielsweise einsetzen um einen Dateinamen auf bestimmte Typen zu überprüfen.

Hinweis: Ich habe zur besseren Eingliederung ins System auch Überladungen mit einem CultureInfo bzw. einem StringComparison hinzugefügt.

Hinweis: Die Abgleich-Strings können als Array oder durch Komma abgetrennt übergeben werden. Jeweils als letzten Parameter.

Nähere Informationen sind in der XML-Dokumentation enthalten.
GFU-Schulungen  [Anzeige]

VB.NET 2017/2015/2013 Einführung

Das Seminar befähigt Sie zur eigenständigen Entwicklung von anwenderorientierten Programmen in VB.NET, worin auch der Einsatz von Datenbanken enthalten ist.

VB.NET Einführung

Die Schulung zeigt Ihnen, wie Sie einfache, benutzerorientierte Programme, die auf Datenbanken zugreifen, in VB.NET eigenständig entwickeln. 

/// <summary>
/// Bestimmt ob das Ende dieser Zeichenfolgeninstanz mit einer der angegebenen Zeichenfolge übereinstimmt.
/// </summary>
/// <param name="s">Die Zeichenfolgeninstanz, deren Ende vergleichen werden soll.</param>
/// <param name="a">Die zu vergleichenden Zeichenfolgen.</param>
/// <returns><c>True</c>, wenn das Ende der Zeichenfolgeninstanz mit einer der Vergleichszeichenfolgen übereinstimmt, andernfalls <c>False</c>.</returns>
public static bool EndsWith(this string s, params string[] a)
{
    foreach (string i in a)
        if (s.EndsWith(i))
            return true;
    return false;
}
/// <summary>
/// Bestimmt ob das Ende dieser Zeichenfolgeninstanz mit einer der angegebenen Zeichenfolge, unter Berücksichtigung der angegebenen Vergleichseinstellung, übereinstimmt.
/// </summary>
/// <param name="s">Die Zeichenfolgeninstanz, deren Ende vergleichen werden soll.</param>
/// <param name="c">Spezielle Einstellungen für den Vergleich.</param>
/// <param name="a">Die zu vergleichenden Zeichenfolgen.</param>
/// <returns><c>True</c>, wenn das Ende der Zeichenfolgeninstanz mit einer der Vergleichszeichenfolgen, unter berücksichtigungen der Vergleichseinstellungen, übereinstimmt, andernfalls <c>False</c>.</returns>
public static bool EndsWith(this string s, StringComparison c, params string[] a)
{
    foreach (string i in a)
        if (s.EndsWith(i, c))
            return true;
    return false;
}
/// <summary>
/// Bestimmt ob das Ende dieser Zeichenfolgeninstanz mit einer der angegebenen Zeichenfolge, unter Berücksichtigung der angegebenen Kultur, übereinstimmt.
/// </summary>
/// <param name="s">Die Zeichenfolgeninstanz, deren Ende vergleichen werden soll.</param>
/// <param name="ignoreCase"><c>True</c> wenn die Groß- bzw. Kleinschreibung ignoriert werden soll, andernfalls <c>False</c>.</param>
/// <param name="culture">Die Kultur, unter der der Vergleich stattfinden soll.</param>
/// <param name="a">Die zu vergleichenden Zeichenfolgen.</param>
/// <returns><c>True</c>, wenn das Ende der Zeichenfolgeninstanz mit einer der Vergleichszeichenfolgen, unter berücksichtigungen der angegebenen Kultur, übereinstimmt, andernfalls <c>False</c>.</returns>
public static bool EndsWith(this string s, bool ignoreCase, CultureInfo culture, params string[] a)
{
    foreach (string i in a)
        if (s.EndsWith(i, ignoreCase, culture))
            return true;
    return false;
}

/// <summary>
/// Bestimmt ob der Anfang dieser Zeichenfolgeninstanz mit einer der angegebenen Zeichenfolge übereinstimmt.
/// </summary>
/// <param name="s">Die Zeichenfolgeninstanz, deren Anfang vergleichen werden soll.</param>
/// <param name="a">Die zu vergleichenden Zeichenfolgen.</param>
/// <returns><c>True</c>, wenn der Anfang der Zeichenfolgeninstanz mit einer der Vergleichszeichenfolgen übereinstimmt, andernfalls <c>False</c>.</returns>
public static bool StartsWith(this string s, params string[] a)
{
    foreach (string i in a)
        if (s.StartsWith(i))
            return true;
    return false;
}
/// <summary>
/// Bestimmt ob der Anfang dieser Zeichenfolgeninstanz mit einer der angegebenen Zeichenfolge, unter Berücksichtigung der angegebenen Vergleichseinstellung, übereinstimmt.
/// </summary>
/// <param name="s">Die Zeichenfolgeninstanz, deren Anfang vergleichen werden soll.</param>
/// <param name="c">Spezielle Einstellungen für den Vergleich.</param>
/// <param name="a">Die zu vergleichenden Zeichenfolgen.</param>
/// <returns><c>True</c>, wenn der Anfang der Zeichenfolgeninstanz mit einer der Vergleichszeichenfolgen, unter berücksichtigungen der Vergleichseinstellungen, übereinstimmt, andernfalls <c>False</c>.</returns>
public static bool StartsWith(this string s, StringComparison c, params string[] a)
{
    foreach (string i in a)
        if (s.StartsWith(i, c))
            return true;
    return false;
}
/// <summary>
/// Bestimmt ob der Anfang dieser Zeichenfolgeninstanz mit einer der angegebenen Zeichenfolge, unter Berücksichtigung der angegebenen Kultur, übereinstimmt.
/// </summary>
/// <param name="s">Die Zeichenfolgeninstanz, deren Anfang vergleichen werden soll.</param>
/// <param name="ignoreCase"></param>
/// <param name="culture">Die Kultur, unter der der Vergleich stattfinden soll.</param>
/// <param name="a">Die zu vergleichenden Zeichenfolgen.</param>
/// <returns><c>True</c>, wenn der Anfang der Zeichenfolgeninstanz mit einer der Vergleichszeichenfolgen, unter berücksichtigungen der angegebenen Kultur, übereinstimmt, andernfalls <c>False</c>.</returns>
public static bool StartsWith(this string s, bool ignoreCase, CultureInfo culture, params string[] a)
{
    foreach (string i in a)
        if (s.StartsWith(i, ignoreCase, culture))
            return true;
    return false;
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!