using System.Collections.Generic;
public static void Main()
var list = FindProductsByName("green shirt", 4);
foreach (var products in list)
Console.WriteLine(products.ProductName);
public static IEnumerable<Products> FindProductsByName(string query, int limit)
string[] words = query.ToLower().Split(' ');
List<Products> products = new List<Products>
new Products { ProductName = "green t-shirt large" },
new Products { ProductName = "t-shirt green medium" },
new Products { ProductName = "t-shirt red" }
where words.All(w=> p.ProductName.Contains(w))
public string ProductName { get; set; }