生成给定字符串的列表子列表

时间:2015-05-08 17:53:46

标签: c# linq

我是LINQ的新手,我想知道是否有办法从字符串列表中提取子列表,因为事先提供了字符串值。

例如,如果我有:

var movies = new List<Movie>
{
    new Movie { Name = "Noah" },
    new Movie { Name = "Terminator" },
    new Movie { Name = "Troy" },
    new Movie { Name = "Gladiator" },
};

如果我提供Name字符串“Noah”和“Troy”,我想使用LINQ创建一个子列表。

我尝试了谷歌搜索,结果将我指向SelectMany和GroupBy,但所有示例都涉及包含原始值的列表,而不是包含在对象中的原始值。

3 个答案:

答案 0 :(得分:3)

这是你在找什么?

var sublistItems = new List<string>() {"Noah", "Troy"} ;
var subList = movies.where(m=> sublistItems.Contains(m.Name));

答案 1 :(得分:2)

for i in reversed(xrange(n, len(seq), n)):
    for j in range(1, n):
        pre = b0 + rv1[i] * b1**j + rv5[i] * b2**j + rv22[i] * b3**j + walk[i]           
        p.append(pre)
        i = i - 1

答案 2 :(得分:1)

使用Linq lambda它将是:

var result = movies.where(x => x.Name == "Troy" || x.Name == "Noah");

这将返回IEnumerable<Movie>,其中包含使用Where搜索的内容。