1

リストに範囲を追加したいのですが、初期化と同じ行内で、同じ行内のリストに通常の追加を行っているだけです。

以前は:

List<Type> dto = new List<Type>();
dto.Add(sequence1);
dto.AddRange(sequence2); //sequence2 is also a list

私が現在持っているもの:

List<Type> dto = new List<Type> {sequence1};
dto.AddRange(sequence2);

同じ行で AddRange を実行できるようにしたいのですが、可能ですか?

4

3 に答える 3

4

これを試しましたか?

List<Type> dto = new List<Type> (sequence2){sequence1};

でdtoを初期化し、コレクションの最後にsequence2追加しますsequence1

于 2014-04-04T12:55:46.553 に答える
2

Concatコンストラクターの結果に対してLINQ 演算子を使用できます。

List<int> l1 = new List<int>() { 1, 2 };
List<int> l2 = new List<int>() { 3, 4 };
List<int> r = new List<int>(l1).Concat(l2).ToList();

または、単一の要素で初期化するだけの場合は、次elemのいずれかを選択します。

List<int> r = new List<int>() { elem }.Concat(l2).ToList();
List<int> r = new[] { elem }.Concat(l2).ToList();
List<int> r = Enumerable.Repeat(elem, 1).ToList();

注:をさらに使用する場合は、十分かもしれないのでスキップrできます。ToList()IEnumerable

于 2014-04-04T12:58:36.700 に答える