当前位置:  开发笔记 > 编程语言 > 正文

什么是C#中的通用集合?

如何解决《什么是C#中的通用集合?》经验,为你挑选了5个好方法。

我正在尝试构建我的第一个通用列表并遇到了一些问题.我理解声明看起来像" List",我using System.Collections.Generic;在页面的顶部.但是,Visual Studio无法识别该T变量.

我错过了什么?



1> George Stock..:

List手段List.例如:

如果我有一个员工类,我想要一个员工集合,我可以说:

List employeeList = new List();

然后我可以将Employee对象添加到该列表中,并将其设置为类型安全并扩展到我放入其中的许多员工对象.

像这样:

Employee emp1 = new Employee();
Employee emp2 = new Employee();

employeeList.Add(emp1);
employeeList.Add(emp2);

employeeList现在持有emp1emp2作为对象.

泛型集合有几个方面,最重要的是它们提供了一种对象独立的方式来拥有......井......对象的集合.它们是类型安全的; 这意味着任何集合都将包含一种类型的对象.你不会有一个Animal实例List(除非,当然,Employee是一个Animal继承自的基类.但是,那时,你有更大的问题.

使用泛型编程是它自己的主题,值得(至少)书中的一章.在非常高的层次上,使用泛型编程提供了另一种重用代码的方法 - 独立于任何类层次结构或特定类的实现细节.

更多信息在这里.



2> Andrew Kenna..:

您需要替换T另一个类型,例如int,string或者您创建的类:

List values = new List();

values.Add(1);
values.Add(2);

int secondNumber = values[1]; // Yay! No casting or boxing required!



3> Strelok..:

例如,如果你想要一个通用的整数列表(int),你会写:

List list = new List();

T 是一个类型参数,在您的代码中应该是一个实际类型.



4> 小智..:

什么使"通用列表"通用,事实是,您可以使用相同的类来创建苹果列表和土豆列表.当然,一旦您使用new操作员创建列表,您必须确定要存储的对象,并通过将您存储的对象的类型名称放在其中来传达您的决定<>.

以下行实际告诉编译器:

List employeeList = new List();

"嘿,我需要一个可以处理类型对象的列表Employee;并且命名了employeeList!"

您以这种方式获得的列表对象不再是通用的.它只接受和返回类型的对象Employee.但是列表的行为是以"通用"的方式定义的,它并不关心它实际使用的对象.它只是T在内部调用它们,因为对于列表应该做的所有事情,它的内容类型并不重要.



5> gius..:

考虑T作为变量名称.您必须指定其值,即.使通用类"具体".所以,你可以创建List,ListList任何你想要的东西.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有