MySqlCommand cmd = new MySqlCommand("select id from table", conn);
MySqlDataReader dr = cmd.ExecuteReader();
例如我得到 4 行,所以 23,3,12,9
我怎样才能得到这个整数的数组?
int[] arr = { 23, 3, 12, 9 };
用这个:
IEnumerable<int> r;
using (reader)
{
r = Read(reader);
}
int[] arr = r.ToArray();
您可以在其中以各种方式实现该方法:
private static IEnumerable<int> Read(IDataReader reader)
{
IList<int> list = new List<int>();
while (reader.Read())
{
list.Add(reader.GetInt32(0));
}
return list;
}
或(扩展阿吉拉斯的回答):
private static IEnumerable<int> Read(IDataReader reader)
{
while (reader.Read())
{
yield return reader.GetInt32(0);
}
}
你可以使用产量迭代器
while(reader.Read()
{
yield return reader.GetInt32(0);
}