using System.Collections;
using System.Collections.Generic;
using System.Data.DataSetExtensions;
using System.Text.RegularExpressions;
using System.Xml.Serialization;
using System.Globalization;
using System.Diagnostics;
public static void Main()
List<Person> persons = new List<Person>()
new Person() { FirstName = "Donald", LastName = "Duck", Company = "Disney" },
new Person() { FirstName = "Daffey", LastName = "Duck", Company = "Warner Brothers" }
var splits = searchText.Trim().Split(new string[] {" "}, StringSplitOptions.RemoveEmptyEntries);
var result = persons.Where(p=> splits.All(x=>
p.FirstName.IndexOf(x, StringComparison.OrdinalIgnoreCase) >=0
|| p.LastName.IndexOf(x, StringComparison.OrdinalIgnoreCase) >=0
|| p.Company.IndexOf(x, StringComparison.OrdinalIgnoreCase) >=0));