String - ContainsAll
A string extension method that query if the string object contains all values.
public static void Main() { string text = @"<!DOCTYPE html> <html> <body> <h1>This is <b>bold</b> heading</h1> <p>This is <u>underlined</u> paragraph</p> <h2>This is <i>italic</i> heading</h2> </body> </html> "; string [] values = {"<html>", "<body>", "<h1>"}; // C# Extension Method: String - ContainsAll if(text.ContainsAll(values)) { Console.WriteLine("String found."); } }
View Source
using System; public static partial class Extensions { /// <summary> /// A string extension method that query if '@this' contains all values. /// </summary> /// <param name="this">The @this to act on.</param> /// <param name="values">A variable-length parameters list containing values.</param> /// <returns>true if it contains all values, otherwise false.</returns> public static bool ContainsAll(this string @this, params string[] values) { foreach (string value in values) { if (@this.IndexOf(value) == -1) { return false; } } return true; } /// <summary> /// A string extension method that query if this object contains the given @this. /// </summary> /// <param name="this">The @this to act on.</param> /// <param name="comparisonType">Type of the comparison.</param> /// <param name="values">A variable-length parameters list containing values.</param> /// <returns>true if it contains all values, otherwise false.</returns> public static bool ContainsAll(this string @this, StringComparison comparisonType, params string[] values) { foreach (string value in values) { if (@this.IndexOf(value, comparisonType) == -1) { return false; } } return true; } }