C# 查询数据库的数组int
例如,我得到4行,23,3,12,9 如何得到这个整数C# 查询数据库的数组int,c#,.net,mysql,ado.net,C#,.net,Mysql,Ado.net,例如,我得到4行,23,3,12,9 如何得到这个整数 MySqlCommand cmd = new MySqlCommand("select id from table", conn); MySqlDataReader dr = cmd.ExecuteReader(); 您可以使用yield迭代器 int[] arr = { 23, 3, 12, 9 }; 使用以下命令: while(reader.Read() { yield return reader.GetInt32(0);
MySqlCommand cmd = new MySqlCommand("select id from table", conn);
MySqlDataReader dr = cmd.ExecuteReader();
您可以使用yield迭代器
int[] arr = { 23, 3, 12, 9 };
使用以下命令:
while(reader.Read()
{
yield return reader.GetInt32(0);
}
IEnumerable r;
使用(读卡器)
{
r=读取(读卡器);
}
int[]arr=r.ToArray();
您可以通过各种方式实现该方法:
IEnumerable<int> r;
using (reader)
{
r = Read(reader);
}
int[] arr = r.ToArray();
私有静态IEnumerable读(IDataReader读卡器)
{
IList list=新列表();
while(reader.Read())
{
list.Add(reader.GetInt32(0));
}
退货清单;
}
或者(扩展Aghilas的回答):
私有静态IEnumerable读(IDataReader读卡器)
{
while(reader.Read())
{
产生返回读取器GetInt32(0);
}
}
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);
}
}