C# 生成列表给定字符串的子列表
我对LINQ非常陌生,我想知道是否有一种方法可以从字符串列表中提取子列表,因为字符串值是预先提供的 例如,如果我有:C# 生成列表给定字符串的子列表,c#,linq,C#,Linq,我对LINQ非常陌生,我想知道是否有一种方法可以从字符串列表中提取子列表,因为字符串值是预先提供的 例如,如果我有: var movies = new List<Movie> { new Movie { Name = "Noah" }, new Movie { Name = "Terminator" }, new Movie { Name = "Troy" }, new Movie { Name = "Gladiator" }, }; var mov
var movies = new List<Movie>
{
new Movie { Name = "Noah" },
new Movie { Name = "Terminator" },
new Movie { Name = "Troy" },
new Movie { Name = "Gladiator" },
};
var movies=新列表
{
新电影{Name=“Noah”},
新电影{Name=“Terminator”},
新电影{Name=“特洛伊”},
新电影{Name=“Gladiator”},
};
如果我提供名称字符串“Noah”和“Troy”,我想使用LINQ创建一个子列表
我尝试过谷歌搜索,结果指向SelectMany和GroupBy,但所有示例都涉及包含基本值的列表,而不是包含在对象中的基本值。这就是您要查找的吗
var sublistItems = new List<string>() {"Noah", "Troy"} ;
var subList = movies.where(m=> sublistItems.Contains(m.Name));
var sublist=newlist(){“Noah”,“Troy”};
var subList=movies.where(m=>subList.Contains(m.Name));
这就是你要找的吗
var sublistItems = new List<string>() {"Noah", "Troy"} ;
var subList = movies.where(m=> sublistItems.Contains(m.Name));
var sublist=newlist(){“Noah”,“Troy”};
var subList=movies.where(m=>subList.Contains(m.Name));
使用Linq lambda,它将是:
var result = movies.where(x => x.Name == "Troy" || x.Name == "Noah");
这将返回一个
IEnumerable
,其中包含使用搜索的对象,其中使用Linq lambda将是:
var result = movies.where(x => x.Name == "Troy" || x.Name == "Noah");
这将返回一个IEnumerable
,其中包含使用Where
搜索的对象。您的确切意思是什么?只是一个列表
,其中包含电影
s,其名称
属性与您传入的字符串列表相匹配?电影不是字符串列表。您的确切意思是什么?只有一个列表
,其中包含电影
s,其名称
属性与您传入的字符串列表相匹配?电影不是字符串列表。从字面上看,它不会返回列表
,但IEnumerable
这是有效的!花了那么多时间试图解决它。非常感谢你!从字面上看,它不会返回列表
,但IEnumerable
这是有效的!花了那么多时间试图解决它。非常感谢你!