- 1. 概要
- 2. コピー
1. 概要
あるリストの部分集合を別のリストへコピーしたかったのですよ。
結局、配列をいったんつくってそれをリスト化する、という手順をふむことになります。
本ページは、下記のサイトを参考にさせていただきました。
「List<T>.CopyTo メソッド (System.Collections.Generic) 」
「C# - リストを配列に、配列をリストに変換」
2. コピー
「List」を配列にして、配列を「List」にするという手順を踏みます。
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
public class MyMain
{
[Serializable]
public class myClass
{
public int i = 0; // 数値型要素
public string s = String.Empty; // 文字列型要素
}
static public void Main ()
{
List<myClass> list = new List<myClass>
{
new myClass { i = 1, s = "A" },
new myClass { i = 2, s = "B" },
new myClass { i = 3, s = "C" },
new myClass { i = 4, s = "D" },
new myClass { i = 5, s = "E" },
new myClass { i = 6, s = "F" },
};
myClass[] arrayMine = new myClass[4];
list.CopyTo(1, arrayMine, 0, 4);
List<myClass> listPart = new List<myClass>(arrayMine);
foreach (myClass myClass in listPart)
{
Console.WriteLine("数値["+ myClass.i +"] 文字["+ myClass.s +"]");
}
}
}
30行目で、「List」の 1 から 4 個分の要素を配列化しています。
32行目で、配列を「List」に移しています。
ソースを実行モジュールにして、実行すると、下記の結果が得られます。
数値[2] 文字[B]
数値[3] 文字[C]
数値[4] 文字[D]
数値[5] 文字[E]
|