Si par "commencer par" vous voulez dire le premier char, puis:
item.FindAll(i => i[0] == 'a');
si vous voulez dire une chaîne (peut être autre que 1 char) puis:
item.FindAll(i => i.StartsWith("a"));
Si vous voulez une comparaison différente, comme insensible à la casse, à base locale, etc. puis effectuez les opérations IndexOf pertinentes telles que:
item.FindAll(i => i.IndexOf("a", StringComparison.CurrentCultureIgnoreCase) == 0);
Toutes les ci-dessus peut être facilement adapté pour utiliser une variable ou un paramètre char ou chaîne pertinent.
Si vous ne avez pas besoin des propriétés supplémentaires et les méthodes fournies par une liste, alors il sera plus efficace d'utiliser Where
que FindAll
comme FindAll
crée une nouvelle liste, et le fait en une seule fois, alors que Where
énumérerons les résultats correspondants tels qu'ils sont itérés.
Cela ne devrait-il pas être «StartsWith» au lieu de «Contient»? –
@Brian: Cela aurait dû être StartsWith. J'ai lu sa question un peu rapidement. –