下面是我的类(class):
public class Test
{
public string Name {get;set;}
public int ID {get;set;}
public IList<string> Tags {get;set;}
Public Test()
{
Tags = new List<string>();
}
}
现在我有另一个列表,名为 tags
哪种数据类型是 List<string>
具有一些值。
现在我想编写一个查询:
var results = List<Test>().Where(x=>x.Tags.Contains(tags));
但是tags
禁止入内Contains
,自 Contains
仅允许字符串类型。
实际错误是:
Argument 1: cannot convert from 'System.Collections.Generic.IList' to 'string'
我可以知道如何在 Lambda 中处理这种情况吗?
最佳答案
我假设您希望获得第二个列表 tags
中至少有一个标签的所有结果。您可以使用 Intersect
来执行此操作:
var results = List().Where(x=>x.Tags.Intersect(tags).Any())
关于c# - Where 条件中的字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67057206/