将DataTable替换为集合的最佳c#泛型类?

Mat*_*tin 4 .net c# generics datatable

我正在尝试将传统的C#.NET 1.1应用程序带入现代时代.我们将DataTables用于我们可能是业务对象的集合.

鉴于大多数代码认为它是在与DataRow的接口进行通信,那么通用集合会为最不痛苦的过渡做出什么贡献?

dbo*_*nes 7

如果我正确地阅读你的问题,你要求哪个容器只存储你的Business对象列表,然后允许你只是枚举整个集合,或通过索引选择.

好吧,我会考虑查看List <>

您可以在哪里接受IList <>(访问索引)或IEnumerable <>(在集合上使用foreach循环)

例如

private void PrintAll<T>(IEnumerable<T> items)
{
    foreach(T item in items)
        Console.WriteLine(item.ToString());
}
Run Code Online (Sandbox Code Playgroud)

现在我可以传入任何使用IEnumerable <>接口的容器,包括List <>和普通数组

List<Person> people = new List<Person>();
//add some people to the list
PrintAll<Person>(people);
Run Code Online (Sandbox Code Playgroud)

带有Buiness对象的示例n层应用程序

HTH

骨头