当前位置: 首页 > 编程语言 > C#

LINQ-...Where(x=-x.Contains(Stringstartingwith-foo-))分享

时间:2023-04-10 17:29:51 C#

LINQ:...Where(x=>x.Contains(Stringstartingwith"foo"))))给定以下类的集合:publicclassPost{...publicIListTags{get;varposts=newList{newPost{Tags=new[]{"fooTag","tag"}},newPost{Tags=new[]{"barTag","anyTag"}},newPost{Tags=new[]{“someTag”,“fooBarTag”}}};varpostsWithFooTag=posts.Where(x=>[这里有一些花哨的LINQ查询]);postsWithFooTag现在应该包含帖子1和3项。StartsWithvarpostsWithFooTag=posts.Where(x=>x.Tags.Any(y=>y.StartsWith("foo")));使用字符串x.Any将检查是否有任何元素符合某些条件。StartsWith检查元素是否以特定字符串开头。回复上面:newPost{Tags=new[]{"fooTag","tag"}},newPost{Tags=new[]{"someTag","fooBarTag"}}让它不敏感使用StringComparison.OrdinalIgnoreCase.varpostsWithFooTag=posts.Where(x=>x.Tags.Any(y=>y.StartsWith("FoO",StringComparison.OrdinalIgnoreCase)));返回:newPost{Tags=new[]{"fooTag","tag"}},newPost{Tags=new[]{"someTag","fooBarTag"}}和StartsWith("FoO")什么都不返回。试试这个:varpostsWithFooTag=posts.Where(x=>x.Tags.Any(y=>y.StartsWith("foo")))我相信这对你想做的事情有用。posts.Where(p=>p.Tags.Any(t=>t.StartsWith("foo")))vartag="foo";varpostsWithFooTag=posts.Where(p=>p.Tags.Any(t=>t.StartsWith(tag)));试试x=>x.Tags.Any(tag=>tag.StartsWith("foo"))以上是C#学习教程:LINQ:...Where(x=>x.Contains(astringwithstartingwith"foo""))共享所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处: