c# - 什么是 List<T> 类?

标签 c# silverlight

我无法理解这段代码:

 public class BookCategory
 {
     public string CategoryName { get; set; }
     public List<Book> Books { get; set; }
 }
 public class Book
 {
     public string Title
     {
         get;
         set;
     }
 }

这是什么意思 List<Book> , 它是否继承自类 Book还是不是?

最佳答案

List<Book> [ MSDN ] 是一个 generic收藏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;
    }
}

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

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

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

关于c# - 什么是 List<T> 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7132070/

相关文章:

银光 4 : how to switch control visibility

c# - 未实现接口(interface)成员 'System.ComponentModel.INotifyPropertyChanged.PropertyChanged'

c# - 如何在 C# 中模拟 NestClient DebugInformation?

c# - 返回 Web 窗体中等效的文件

c# - 如何使用 Linq 将对象投影到列表中?

c# - 使用非静态方法的线程

c# - 从 JSON (ScriptObject) 反序列化为托管对象

c# - 文本框 Silverlight 的样式

c# - 自动生成的数据网格中的日期时间转换器

c# - IEnumerable 与列表 - 使用什么?它们是如何工作的?