2010-10-22 4 views
0

Я выбираю данные из базы данных и во время цикла, я хочу, чтобы он хранил все данные в одной переменной. Как это сделать? Переменная selectAnswer - это тип строкового массива.Как вставить данные в массив строки типа?

Я использовал этот код, но это дает ошибку. Измените этот код.

string selectAnswer[] = new string[]; 
while (rdr.Read()) 
{ 
    selectAnswer[] = rdr[0].ToString(); 
} 

ответ

0

Ваш вопрос довольно запутанным. Вы хотите сохранить данные в одну переменную или в одну строку? Если это так, то почему бы не использовать StringBuilder.

StringBuilder answer = new StringBuilder(); 
while (rdr.Read()) 
{ 
    answer.AppendLine(rdr[0].ToString()); 
} 

Но я все еще не уверен, правильно ли я понял.

Другой вариант заключается в использовании списка:

IList<string> answer = new List<string>(); 
while (rdr.Read()) 
{ 
    answer.Add(rdr[0].ToString()); 
} 
answer.ToArray(); 
0

Вы пытаетесь назначить единую строку для всего массива вместо отдельной строки для элемента массива.

Вы можете использовать List<string> вместо массива строк и просто добавить элементы к нему:

IList<string> selectAnswer = new List<string>(); 
while (rdr.Read()) 
{ 
    selectAnswer.Add(rdr[0].ToString()); 
} 

Для этого, чтобы работать с массивом, сначала нужно объявить переменную массива с числом элементы в считывателе данных и имеют счетчик, для которого вы вставляете индекс.

+0

Вы избили меня к нему ... – cjk

2

Используйте generic List вместо этого, он имеет несколько advantages:

List<String> selectAnswer = new List<String>(); 
while (rdr.Read()) 
{ 
    selectAnswer.Add(rdr[0].ToString()); 
} 
Смежные вопросы