使用分配变量和直接访问有什么区别

发布于 2024-11-14 13:51:49 字数 514 浏览 5 评论 0原文

请考虑以下每种方法的好处、用途或收益是什么,您为什么这么认为?除了访问数据的短方式之外。顺便说一句,有没有办法以 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();
...
...
...

Considering below what are benefits, uses or gain of each and why do you think so? other than short way to access the data. btw is there a way to use DataView in using (Resource){//Code} format.

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

and

DataView dvUsers = UsersRepository.GetAllUsers().DefaultView;

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

逆夏时光 2024-11-21 13:51:49

DataView 能够执行排序、过滤、搜索、编辑和导航(msdn),而不更改数据表本身中的数据。
其最大的功能之一是将数据绑定到类似网格的控件,以便您可以控制显示哪些数据以及如何显示(除了在 SQL 级别上对其进行过滤/排序之外)。

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

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

编辑
但在您的代码示例中,除了当您不使用 DataView 时会略有性能提升之外,应该没有什么区别,因为它会创建索引,因此如果您不打算使用它的功能,那么本质上使用 dataview 是一个不必要的额外步骤

A DataView is there to be able to perform sorting, filtering, searching, editing, and navigation (msdn) without altering the data in the datatable itself.
One of the biggest functionality thereof is for databinding to grid like controls so that you can control what data is displayed and how (Other than filtering/sorting it on sql level).

Another thing to note is that you can have multiple data views from one datatable, i.e. the one grid will display all the rows where the it's a male and the other grid will display all the females for instance.

Why would you want to use a using statement on a dataview? The whole reasoning behind a using statement is to dispose and close the object and release all resources after the code block is complete. That said, the only requirement to be able to use it in a using statement is it must implement IDisposable, which DataView does.

EDIT
In your code example though, there should be no difference except for a slight performance gain when you don't use DataView because it creates an index, so essentially using the dataview is an unneccessary extra step if you aren't going to use it's functionality

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文