2016-08-18 20 views
-3

私は4つのレコードを持つオブジェクトのリストを持っています。私は1つのリストの最初の2つと別のリストの最後の2つのレコードを分割したいと思います。2つの別々のリストにオブジェクトのリストを分割

リストは、レコードの下に含まれています

enter image description here

私は別のリスト

に1つのリストでAとBをしたいとCとDこれはC#で実現する方法を提案してください。

ありがとうございます。

+3

これまでに行ったことを示してください。いくつかのコードを表示します。 – Kinetic

+0

'var list1 = new List {A、B}; var list2 = new List {C、D}; ' – Maarten

+0

これを行うには多くの方法があります。あなたの最終目標は何ですか? (これは[xy問題]のように見えます(http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem))。 –

答えて

2

あなたは、特にそれらを取る必要がある場合は、

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

Takeを使用できます。

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

最初の2つのレコードを取得します。リストを逆にして(C & Dが前面に表示されます)、最初の2つのレコードを再度取得します。

コメントでJuharrが言及しました。あなたのニーズを達成するために、Skip(2)も同様に使用できます。

あなたのクラスファイルの先頭に参照を追加することを忘れないでください:using System.Linq;

Take MSDN
Skip MSDN

+1

または' list.Skip(2); 'は第2のものです。 – juharr

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が動作します。

関連する問題