La forma más sencilla y segura de hacerlo es usando Linq :
var names = namesCollection.AsQueryable().Where(name =>
name.FirstName.ToLower().Contains("hamster"));
Como se explica en el tutorial ToLower , ToLowerInvariant , ToUpper y ToUpperInvariant todos realizan coincidencias sin distinguir entre mayúsculas y minúsculas. Después de eso, puede usar todos los métodos de cadena admitidos como Contains o StartsWith .
Este ejemplo generará:
{
"FirstName" : /hamster/is
}
El i La opción hace que no se distinga entre mayúsculas y minúsculas.