什么是List <T>类?

Fak*_*tet 1 c# silverlight

我无法理解这段代码:

 public class BookCategory
 {
     public string CategoryName { get; set; }
     public List<Book> Books { get; set; }
 }
 public class Book
 {
     public string Title
     {
         get;
         set;
     }
 }
Run Code Online (Sandbox Code Playgroud)

它是什么意思List<Book>,是否继承了课堂Book

Fis*_*rdo 9

List<Book>[ MSDN ]是一个通用Book对象集合.它不继承自Book.相反,它在集合中包含零个或多个Book对象.

因为List<T>该类是通用的,所以可以重用它来为任何类型的对象的集合提供列表操作.你可以有List<int>,List<string>,List<object>,等,但它们来自同所有的工作List<T>类,它是DRY原则一个很好的例子(不要重复自己).在此示例中,T称为类型参数,可以是任何.NET或用户定义的类型.

您可以定义自己的通用类.这是一个简单的语法示例:

public class Foo<T>
{
    public T AnObject { get; set; }

    public Foo(T anObject)
    {
        AnObject = anObject;
    }
}
Run Code Online (Sandbox Code Playgroud)

其他一些非常有用的.NET泛型是:

  • Stack<T>[ MSDN ]
  • Queue<T>[ MSDN ]
  • Nullable<T>[ MSDN ]
  • Dictionary<TKey,TValue>[ MSDN ]
  • 还有很多...

泛型在.NET中非常有用和普遍,所以一定要熟悉这个概念.