// The LINQ Where can be used to filter in a collection.
// It will return a Enumerable that contains all of the matching elements
var names = new List<string>() {"John", "Jane", "William"};
//I use ToLower to get any name that contains a J, Capital or not.
var namesWithJ = names.Where(n => n.ToLower().Contains("j"));
//Returns IEnumerable<string> that contains ["John", "Jane"]
dataSource.StateList.Where(s => countryCodes.Contains(s.CountryCode))
linq in c#