在 .NET 中,为什么 DataTable.Rows 是 DataRowCollection 而不是 List?

In .NET, why DataTable.Rows is DataRowCollection and not List?

我想知道在 .NET 中,为什么 DataTable.RowsDataRowCollection 而不是 List<DataRow> 的类型?是不是因为List<DataRow>封装在DataRowCollectionclass中,甚至比List提供了扩展的功能?还是别的什么原因?请抛出一些想法...

谢谢。

DataRowCollection 始于 .NET 1.0,它早于泛型。 List<DataRow> 在 .NET Framework 2.0 之前不可能存在。在 1.x 的日子里,制作强类型集合的唯一方法是制作自己的 class,例如 DataRowCollection.

它没有更改或更新为使用 List<DataRow>,因为那将是一个重大的破坏性更改,而且很可能是因为 DataRowCollection 做了一些 List<T> 没有做的特殊行为。