Compte tenu d'une collection de la classe suivante:
var posts = new List<Post> { new Post { Tags = new[] { "fooTag", "tag" }}, new Post { Tags = new[] { "barTag", "anyTag" }}, new Post { Tags = new[] { "someTag", "fooBarTag" }} }; var postsWithFooTag = posts.Where(x => [some fancy LINQ query here]);
5 Réponses :
Utiliser la chaîne Le renvoi ci-dessus: p> pour le faire citer retourne: p> tandis que startswith code>
x.any code>
vérifiera si un élément correspond à une condition. startswith code>
vérifie si l'élément commence par un certaine chaîne. p> insensitant code> Utiliser
stringcomparison.ordinalIntorecase code>. p>
startswith ("foo") code> retournets aucun résultat. p> p>
+1 et réponse acceptée pour les informations supplémentaires et l'exemple insensible à l'affaire. Merci!
... et je pensais que j'étais si intelligent lorsque j'ai créé un startswithcomerer code>
Essayez ceci:
var postsWithFooTag = posts.Where(x => x.Tags.Any(y => y.StartsWith("foo")))
Je crois que cela fonctionnera pour ce que vous essayez de faire. P>
postes.avias (p => p.tag.any (t => t.startswith ("foo"))) code> p>
var tag = "foo"; var postsWithFooTag = posts.Where( p=> p.Tags.Any( t => t.StartsWith(tag)));
Essayez x => x.tag.any (tag => tag.startswith ("foo")) code> p>
Merci à tous! Existe-t-il la possibilité de faire la casse «startwith Comparaison» insensible?
Utilisez
stringcomparonison.ordinalisorecase code>. J'ai mis à jour ma réponse.