在 .NET Framework 中,有一些使用 SomethingCollection
的类语法。
例如,处理SqlCommand
时, 它有一个参数 Parameters
类型 SqlParameterCollection
.因为它没有 IEnumerable<SqlParameter>
的形式(或 IList<SqlParameter>
或类似的东西),不可能写成:
foreach (var c in sqlCommand.Parameters)
{
Debug.WriteLine(string.Concat(c.ParameterName, ": ", c.Value));
}
相反,var
必须用明确的 SqlParameter
代替.
在处理 Windows 窗体控件( ListView 项的集合等)时非常相似,并且存在于其他类中。
这是什么东西?为什么存在并使用此类类而不是通用类 IEnumerable
s/IList
是吗?
最佳答案
.NET API 公开的许多集合是在 .NET 2.0 之前设计的,因此,在泛型可用之前。
关于c# - 为什么使用 SomethingCollection 而不是 Collection<Something>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4039144/