gpt4 book ai didi

c# - LinQ WHERE string.Contains 或 string.IndexOf?

转载 作者:行者123 更新时间:2023-11-30 13:07:58 24 4
gpt4 key购买 nike

我需要写一些能给出与以下相同结果的东西:

var result = collection.Where( o => o.Name.IndexOf( "some_string2" ) != -1 || o.Name.IndexOf( "some_string_2" ) != -1 || o.Name.IndexOf( "some_string3" ) != -1 )

要检查的字符串的数量和值(some_string_1、2 和 3)未知(来自 DB),所以更通用的东西...

我尝试了以下,但失败了......

var stringsToCheck = someCommaSeparatedStrings.ToLower().Split( ',' ).ToList();
var result = collection.Where( o => stringsToCheck.Contains( o.ToLower() ) );

换句话说,我需要从一个集合中检索名称包含一些特定字符串的所有对象。

最佳答案

var result = collection.Where(item => stringsToCheck.Any(stringToCheck => 
item.Name.Contains(stringToCheck)));

用英文阅读是这样的:给我集合中的所有项目,其中所有字符串中检查其中一个是集合中字符串的子字符串。

关于c# - LinQ WHERE string.Contains 或 string.IndexOf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14346961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com