// Need to read the row in, usually in a while ( opReader.Read ) {} loop...
opReader.Read();
// Convert current row into a dictionary
Dictionary<string, object> dict = new Dictionary<string, object>();
for( int lp = 0 ; lp < opReader.FieldCount ; lp++ ) {
dict.Add(opReader.GetName(lp), opReader.GetValue(lp));
}
Я все еще не уверен, зачем вам нужно это конкретное преобразование из одного типа коллекции в другой.
Ответ 3
Я наткнулся на этот вопрос 3/9/2016 и в итоге использовал ответ, предоставленный SLaks. Однако мне нужно было немного изменить его:
Это должно дать вам примерно тот же доступ (по ключу) в качестве словаря. Поскольку в строках обычно не более нескольких экземпляров столбцов, производительность поисковых запросов не должна отличаться. Единственное важное отличие - это тип "полезной нагрузки", и даже там ваш словарь должен будет использовать объект для типа значения, поэтому я даю край IDataRecord.
Ответ 5
Метод GetValues принимает и помещает все значения в 1D-массив.
Помогает ли это?