见.net小提琴链接https://dotnetfiddle.net/E4eCWl
我有一个作业作业要使用ArrayList类型的图书,所以虽然我知道List<T>是正确的处理问题的方法,但我需要使用ArrayList,因为这是作业的一部分
如此使用
var books = new ArrayList<Book> {new Book("Moby Dick", 254)};我在这里的理解是,一旦我将自定义类型book添加到Arraylist中,我就创建了一个自定义类,因为Resharper帮助我创建了一个新类,以适应图书的添加,因此添加了一个新类,但现在我陷入了困境,因为我不知道如何实现add方法,也不知道如何为..使用GetEnumerator。
任何提示或网站,我可以去进一步帮助我,或我走错了道路,从创建类型开始。
自定义图书类
class Book
{
public string Title { get; set; }
public int NumberOfPages { get; set; }
public Book(string title, int pages)
{
Title = title;
NumberOfPages = pages;
}
}生成类
class ArrayList<T> : IEnumerable
{
internal void Add(Book book)
{
throw new NotImplementedException();
}
public IEnumerator GetEnumerator()
{
throw new NotImplementedException();
}
}发布于 2015-05-01 09:50:06
ArrayList是.NET 1.0和1.1天的收藏(很久很久以前,就像星球大战入门.)。
因此,ArrayList是在泛型之前引入的,它不是泛型集合。
它不同于List<T>,因为集合项不是作为某种具体类型键入的,而是作为object类型键入的。也就是说,可以将任何类型的对象添加到ArrayList中。
ArrayList list = new ArrayList();
list.Add(new Pear());
list.Add(new Apple());此外,当您需要获得一个项目时,您需要再次转换为具体类型:
// list[0] will return the pear typed as System.Object
Pear pear = (Pear)list[0];顺便说一句,就像我在第一段中说的那样,这门课已经过时了很长时间(.)很久以前,实际的代码不应该再使用它了。您需要使用List<T> (或System.Collections.Generic命名空间中的任何其他通用列表)。
https://stackoverflow.com/questions/29984646
复制相似问题