使用指定变量和直接访问之间的区别是什么

时间:2011-06-08 10:44:38

标签: c# asp.net datatable equals dataview

考虑下面每个的好处,用途或收益是什么,为什么这么认为?除了访问数据的简短方法。顺便说一下,有一种方法可以using (Resource){//Code}格式使用DataView。

DataTable dtUsers = UsersRepository.GetAllUsers();
Users.Name = dtUsers.Rows[0]["Name"].ToString();
Users.Address = dtUsers.Rows[0]["Address"].ToString();
...
...
...

DataView dvUsers = UsersRepository.GetAllUsers().DefaultView;

Users.Name = dvUsers[0]["Name"].ToString();
Users.Address = dvUsers[0]["Address"].ToString();
...
...
...

1 个答案:

答案 0 :(得分:2)

DataView可以在不改变数据表本身数据的情况下执行排序,过滤,搜索,编辑和导航(msdn)。 其中最大的功能之一是数据绑定到网格控件,以便您可以控制显示的数据和方式(除了在sql级别上过滤/排序)。

另外需要注意的是,您可以从一个数据表中获得多个数据视图,即一个网格将显示所有行,其中它是男性,另一个网格将显示所有女性。

为什么要在数据视图上使用using语句? using语句背后的整个推理是在代码块完成后处理并关闭对象并释放所有资源。也就是说,能够在using语句中使用它的唯一要求是它必须实现Datais所做的IDisposable。

修改 但是在你的代码示例中,除了在不使用DataView时会产生轻微的性能提升,因为它会创建一个索引,所以应该没有区别,所以如果你不打算使用它的功能,那么基本上使用dataview是一个不必要的额外步骤。