-4

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

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);
}

}

谢谢

4

3 回答 3

2

如果你想要列表中的一个数组,你可以简单地使用ToArray

PhoneBookCore[] bookCores = elements.ToArray();

如果您想要一个属性数组_group,则为string[]

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

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

于 2013-02-04T13:44:41.017 回答
1

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

PhoneBookCore[] myArray = elements.ToArray();
于 2013-02-04T13:44:27.963 回答
1

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

List<PhoneBookCore> elements = new List<PhoneBookCore>();
PhoneBookCore[] array = elements.ToArray();
于 2013-02-04T13:45:00.317 回答