Possible Duplicate:
Conversion of System.Array to List




我想将aPersonDataArr转换为列表IList<aPersonDataArr> aPerList = ???和ViceVersa-从列表转换为数组。如何做到这一点,我不愿意使用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;
        }
    }
}

最佳答案

只需在List构造函数中传递数组即可。

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


转换回来:

PersonData[] array = aPerList.ToArray();


如果您不想使用LINQ ToArray,请使用List.CopyTo

PersonData[] newArray = new PersonData[aPerList.Count];
aPerList.CopyTo(arrArray,0);

10-08 14:06