摆个擂台,大家看有没有更好的方法。我觉得大家肯定有比我好的方法。
1.
数据库内容:(简写)
ID 值 数组序号
** ** 5
** ** 3
** ** 1
** ** 0
** ** 0
自增 ** 没有序号默认都是0
2.
数组长度是6,现在是7因为0我不打算用。
string[] List = {"kong","kong","kong","kong","kong","kong","kong"};
3.
首先我提取序号不为0的前6个,因为事先我不知道有几个:第一次提数据库
while((Reader.Read())&&(int.Parse(Reader["数组序号"].ToString())!=0))
{
List[int.Parse(Reader["数组序号"].ToString())] = Read["值"];
}
也就是说list[5],list[3],list[1]已经有值。
第二步提取为0的前6个,因为我不知道前面有几个已经有值。
也就是list[6],list[4],list[2]按Id号最大的开始赋值
下面的方法最不可取:
while(Read2.Read())
{
for (int k = 6; k >= 1;k-- )
{
if (List[k] == "kong")
{
List[k] = Read2["值"];
break;
}
}
}
也就是说上面的方法有可能循环36次觉得不好,各位有什么好办法。