-3

次のことで私を助けてください...私は次のように2つのリストオブジェクトを持っています:

list1:
ID  col1
--------
1   A
1   B
1   C

list2:
ID  col2
--------
1   D
1   E 
1   F

Now I want:
ID  col1  col2
---------------
1    A     D
1    B     E
1    C     F

つまり、基本的には、list1のcolumn1、column 2、list2のcolumn3の順になります。Column1は一般的です。行数が常に同じであるとは限らないことに注意してください。その場合、行数はnullになります。

Linqでこのソリューションが本当に必要です。ありがとう。

4

2 に答える 2

3
List<Class> list1 = new List<Class>();
List<Class> list2 = new List<Class>();

// Add classes to lists...

list1.AddRange(list2);

// Order merged list...

list1.OrderByDescending(o => o.col1).ThenBy(o => o.col2);

理解しようとしています...

Dictionary<Int32, Class[]> dictionary = new Dictionary<Int32, Class[]>();

list2.Reverse();

for (Int32 i = 0; i < list1.Count; ++i)
    dictionary[i] = new Class[2] { list1[i], list2[i] };
于 2013-01-15T17:09:05.507 に答える
1

質問を明確にするのが難しい理由がよくわかりません。彼は2つの配列を1つにまとめたいだけです(それでも、Webのアワーで、Concat、AddRange、Unionしか見つからない理由はわかりません。間違った回答この質問):

私はZipでそれを解決します:

       var result = list1.Zip(list2,(first,second)=>new  {entrada=first,salida=second});

今、あなたはこのようなことをすることができます:

       var union=result.Select(x=> new {x.entrada, x.salida, horas = int.Parse((DateTime.Parse(x.salida).Subtract(DateTime.Parse(x.entrada))).Hours.ToString()) });
于 2017-01-07T08:40:59.673 に答える