相关疑难解决方法(0)

C#:List <T>和Collection <T>之间的区别(CA1002,不公开通用列表)

试图在这里运行一个项目的运行代码分析,并得到一些警告说,像这样:

CA1002:Microsoft.Design:在' SomeClass.SomeProtectedOrPublicProperty '中更改'List < SomeType > '以使用Collection,ReadOnlyCollection或KeyedCollection

我为什么要用Collection<T>而不是List<T>?当我查看msdn文档时,它们看起来几乎相同.在阅读了警告的错误帮助后,我发现了

System.Collections.Generic.List(T)_是一个通用集合,专为性能而非继承而设计,因此不包含任何虚拟成员.

但这究竟意味着什么呢?我应该做什么呢?

我应该继续在List<T>内部使用,然后在属性中返回一个new Collection<T>(someList)而不是?或者我应该开始使用Collection<T>而不是List<T>

c# collections encapsulation

95
推荐指数
2
解决办法
7万
查看次数

标签 统计

c# ×1

collections ×1

encapsulation ×1