如何将列表转换为数组

时间:2013-02-04 13:42:45

标签: c# arrays list

问题是列表是我的一个类的类型所以我不能简单地做数组.. 这是我的代码:

public List<PhoneBookCore> elements = new List<PhoneBookCore>();

这是班级:

{
abstract class PhoneBookCore
{
    protected string _group;


    public PhoneBookCore(string group)
    {
        this._group = group;
    }

    public abstract void Add(PhoneBookCore d);
    public abstract void Remove(PhoneBookCore d);
    public abstract void Display(int indent);
}

}

感谢

3 个答案:

答案 0 :(得分:2)

如果您想要列表中的数组,只需使用ToArray

即可
PhoneBookCore[] bookCores = elements.ToArray();

如果你想要一个属性_group的数组,那么string[]

string[] groups = elements.Select(pbc => pbc._group).ToArray();

请注意,您需要为using.System.Linq添加Enumerable.ToArray,第二种方法只是演示如何从类中选择属性并创建数组。它还没有编译,因为_group受lazyberezovsky所提及的保护。

答案 1 :(得分:1)

您是否尝试过Linq方法ToArray()? (您必须添加using System.Linq

PhoneBookCore[] myArray = elements.ToArray();

答案 2 :(得分:1)

您可以使用.ToArray() LINQ扩展方法:

List<PhoneBookCore> elements = new List<PhoneBookCore>();
PhoneBookCore[] array = elements.ToArray();