Что не так с моим кодом C #? - PullRequest
4 голосов
/ 19 февраля 2012

Что-то не так с моим кодом здесь:

byte[] bits = Convert.ToByte(ds.Tables[0].Rows[0].Item[0]);

Есть ошибка, говорящая, что:

System.Data.DataRow не содержит определения для элемента и нет метод расширения Item, принимающий первый аргумент типа 'System.Data.DataRow может быть найден.

Где я ошибся?

Ответы [ 3 ]

10 голосов
/ 19 февраля 2012
byte[] bits = Convert.ToByte(ds.Tables[0].Rows[0][0]);
4 голосов
/ 19 февраля 2012

Элемент не индексатор, это функция.Вы должны сделать:

byte[] bits = Convert.ToByte(ds.Tables[0].Rows[0].Item(0));

Или, если вы хотите, чтобы элемент на 0,0 позиции в вашей таблице0 вы могли сделать:

byte[] bits = Convert.ToByte(ds.Tables[0].Rows[0][0]);
3 голосов
/ 19 февраля 2012

Использование:

byte[] bits = Convert.ToByte(ds.Tables[0].Rows[0][0]);

ds.Tables[0].Rows[0] возвращает DataRow с индексатором this[int], который возвращает данные, сохраненные в столбце по индексу.

...