В чем разница между использованием назначенных переменных и прямым доступом - PullRequest
0 голосов
/ 08 июня 2011

Рассмотрим ниже, каковы преимущества, использование или прибыль каждого и почему вы так думаете? кроме короткого способа доступа к данным. Кстати, есть ли способ использовать DataView в формате using (Resource){//Code}.

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 Ответ

2 голосов
/ 08 июня 2011

DataView позволяет выполнять сортировку, фильтрацию, поиск, редактирование и навигацию ( msdn ) без изменения данных в самой таблице данных. Одна из его самых больших функциональных возможностей - привязка данных к элементам управления, подобным сетке, так что вы можете контролировать, какие данные отображать и как (кроме фильтрации / сортировки на уровне sql).

Еще одна вещь, на которую следует обратить внимание, это то, что вы можете иметь несколько представлений данных из одной таблицы данных, то есть одна сетка будет отображать все строки, где это мужчина, а другая сетка будет отображать всех женщин, например.

Почему вы хотите использовать оператор использования для просмотра данных? Весь смысл использования оператора состоит в том, чтобы удалить и закрыть объект и освободить все ресурсы после завершения блока кода. Тем не менее, единственное требование, чтобы иметь возможность использовать его в операторе использования, это то, что он должен реализовывать IDisposable, что делает DataView.

EDIT Однако в вашем примере кода не должно быть никакой разницы, за исключением небольшого прироста производительности, когда вы не используете DataView, потому что он создает индекс, поэтому по сути использование dataview является ненужным дополнительным шагом, если вы не собираетесь использовать его функциональность

...