拆分两个单独列表中的对象列表

时间:2016-08-18 11:53:24

标签: c# list

我有4条记录的对象列表。我想将前两个分成一个列表,将后两个记录分成另一个列表。

该列表包含以下记录:

enter image description here

我希望A和B在一个列表中,而C和D在另一个列表中

请建议如何在c#中实现这一目标。

提前致谢。

3 个答案:

答案 0 :(得分:2)

你可以做到

var l1 = list.Take(2).ToList();
var l2 = list.Skip(2).ToList();

答案 1 :(得分:1)

如果您需要专门拍摄这些物品并放入新的清单,您可以这样做:

var firstList = fullList.Where(r => r.BarName == "A" || r.BarName == "B");
var secondList = fullList.Where(r => r.BarName == "C" || r.BarName == "D");

如果它们总是与您展示的顺序相同,那么fullList.Take可能会有效。

答案 2 :(得分:0)

你可以使用Take。

var ListAB = list.Take(2);
var ListCD = list.Reverse().Take(2);

首先抓住前两个记录。反转列表(C& D现在将在前面)并再次获得前两个记录。

正如juharr在评论中提到的那样。也可以使用Skip(2)来满足您的需求。

请勿忘记在班级文件的顶部添加引用:using System.Linq;

Take MSDN
Skip MSDN