Я задаю вышеупомянутый вопрос, потому что я вижу что-то свойство HasRows в окне QuickWatch.
Я изменяю чужой код и должен следовать установленным шаблонам.Мне нужно запросить таблицу SQL Server для извлечения строки из таблицы конфигурации, и я решил сначала закодировать ее в тестовом консольном приложении.Я также решил использовать типы SQLClient и использовал свойство HasRows:
....
using (SqlDataReader rdr = cmd.ExecuteReader())
{
if (rdr.HasRows)
{
....
Когда я пошел, чтобы переместить код в другой проект, я заметил, что использовался IDataReader, и Intellisense сказал, что HasRowsсвойство не было доступно, поэтому я использовал цикл while, хотя возвращалась только одна строка:
....
using (IDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
....
Однако, когда я быстро просмотрел IDataReader rdr, я увидел свойство HasRows!
![enter image description here](https://i.stack.imgur.com/3v7Al.png)
Так можно ли легко получить свойство HasRows для IDataReader?Если это действительно существует?