我想将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;
}
}
}
答案 0 :(得分: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);
答案 1 :(得分:1)
使用Linq:
PersonData[] aPersonDataArr = new PersonData[2];
List<PersonData> list = aPersonDataArr.ToList();
不使用Linq:
List<PersonData> list = new List<PersonData>(aPersonDataArr );
答案 2 :(得分:0)
//array into list
List<PersonData> list1 = new List<PersonData>(aPersonDataArr);
//list into array
Array array1 = list1.ToArray();