C#中的泛型集合是什么?我正在尝试构建我的第一个通用列表并遇到了一些问题。我知道该语句看起来像“List”并且我正在使用System.Collections.Generic;在我的页面顶部。但是,VisualStudio无法识别T变量。我错过了什么?列表的意思是列表。例如:如果我有一个员工类并且我想要一个员工集合,我可以说:ListemployeeList=newList();然后,我可以将Employee对象添加到该列表,使其成为类型安全的并扩展到我放入的尽可能多的员工对象。像这样:Employeeemp1=newEmployee();员工emp2=newEmployee();employeeList.Add(emp1);employeeList.Add(emp2);employeeList现在将emp1和emp2作为对象。通用集合有几个方面,最重要的是它们提供了一种独立于对象的方式来收集……嗯……对象。它们是类型安全的;这意味着任何集合都将包含一种类型的对象。你不会在列表中有一个Animal的实例(当然,除非Employee是Animalinheritance的基类。但是,你会遇到更大的问题。使用泛型编程是它自己的主题,值得(至少)在这本书。在一个非常高的层次上,使用泛型编程提供了另一种重用代码的方法——独立于任何类层次结构或特定类的实现细节。更多信息在这里。您需要将T替换为其他类型,例如int、string或您创建的类:Listvalues=newList();值.添加(1);值.添加(2);intsecondNumber=值[1];//耶!无需铸造或拳击!例如,如果您想要一个通用的整数列表(int),您可以这样写:Listlist=newList();T是一个类型参数,在您的代码中应该是实际类型。“通用列表”之所以通用,是因为您可以使用相同的类来创建苹果列表和土豆列表。当然,一旦你用new运算符创建了一个列表,你就必须决定要存储什么对象,并通过放置存储对象的Type名称来表达你的决定。下面这行实际上告诉了编译器:ListemployeeList=newList();“嘿,我需要一个可以处理Employee类型对象的列表;并命名为employeeList!”您通过这种方式获得的列表对象不再是通用的。它只接受和返回Employee类型的对象。但是列表的行为是以“通用”方式定义的,它并不关心它实际使用的是什么对象。它只是在内部称它们为“T”,因为对于列表应该做的所有事情,它的内容类型并不重要。将T视为变量名。您必须指定它的值,即。使通用类“具体”。所以你可以创建一个列表,列表或任何你想要的。你像这样声明一个Foo对象列表:ListfooList;类型名称中的占位符是您在实例化时放入通用列表的“真实”对象类型的占位符。MSDN上的这篇文章应该对你有很大的帮助。当您执行List时,请确保您的Object类是公共的。在默认的VS安装中,类是开箱即用的“内部”——这意味着你不能列出它们,因为它们比你声明的公共列表更难访问。这让我想起了……昨天。愚蠢的默认。您是在尝试使用List类还是在尝试构建自己的类?您的代码目前是什么样子的?以上是C#学习教程:C#中什么是通用集合?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
