我从数据库和while循环中选择数据,我希望它将所有数据存储在一个变量中。怎么做? 变量selectAnswer是字符串数组类型。
我使用了这段代码,但这会给出错误。修改此代码。
string selectAnswer[] = new string[];
while (rdr.Read())
{
selectAnswer[] = rdr[0].ToString();
}
答案 0 :(得分:2)
使用generic List代替,它有几个advantages:
List<String> selectAnswer = new List<String>();
while (rdr.Read())
{
selectAnswer.Add(rdr[0].ToString());
}
答案 1 :(得分:0)
您正在尝试将单个字符串分配给整个数组,而不是每个数组项分配一个字符串。
您可以使用List<string>
代替字符串数组,只需向其中添加项目:
IList<string> selectAnswer = new List<string>();
while (rdr.Read())
{
selectAnswer.Add(rdr[0].ToString());
}
为了使用数组,首先需要使用数据读取器中的项目数声明数组变量,并为要插入的索引提供计数器。
答案 2 :(得分: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();