using System; using System.Collections.Generic; using System.Linq; using System.Text; public class Test { public static void Main() { var list = new List {"abcdef", "abc", "ab", "cd ab"}; var searchForList = new List { "ab", "abc", "ab cd" }; foreach(var searchFor in searchForList) { // word must contain all the string in search words var result = list.Where (w => searchFor.Split().All (s => w.Contains(s))); Console.WriteLine(string.Format("Searching for \"{0}\":", searchFor)); foreach(var s in result) { Console.WriteLine(s); } Console.WriteLine(); } } }