2

重複の可能性:
System.Arrayからリストへの変換

aPersonDataArrをリストに変換し、その逆をIList<aPersonDataArr> aPerList = ???リストから配列に変換したいと思います。これをどのように行うことができますか、私はLINQを使用するつもりはありません。それを行う他の方法はありますか?

class PersonData
{
    public string PersonName;
    public int Age;
}
class Program
{
    static void Main(string[] args)
    {
        PersonData[] aPersonDataArr = new PersonData[2];

        for (int i = 0; i < aPersonDataArr.Length; i++)
        {
            aPersonDataArr[i].PersonName = "abcd";
            aPersonDataArr[i].Age = 10;
        }    
    }
}
4

3 に答える 3

12

リストコンストラクターで配列を渡すだけです。

IList<PersonData> aPerList = new List<PersonData>(aPersonDataArr);

元に戻すには:

PersonData[] array = aPerList.ToArray();

ToArrayLINQを使用したくない場合は、 List.CopyToを使用してください。

PersonData[] newArray = new PersonData[aPerList.Count];
aPerList.CopyTo(arrArray,0);
于 2012-10-18T06:24:08.777 に答える
1

Linqの使用:

PersonData[] aPersonDataArr = new PersonData[2];
List<PersonData> list = aPersonDataArr.ToList();

Linqを使用しない場合:

List<PersonData> list = new List<PersonData>(aPersonDataArr );
于 2012-10-18T06:24:29.987 に答える
0
    //array into list
    List<PersonData> list1 = new List<PersonData>(aPersonDataArr);

    //list into array
    Array array1 = list1.ToArray();
于 2012-10-18T07:00:27.793 に答える