我想转换一个 datarow[]
进入List<int>
List<int> UserIds;
public void GetGravatars()
{
var cmd = access.GetSqlCommandStoredProcedure("uspMembershipGetUserGravatarList");
var table = access.ExecuteDataTable(cmd, DAL.Logic.Common.ConnectionStrings.User);
int[] rows = new int[table.Rows.Count];
table.Rows.CopyTo(rows, 0);
UserIds = rows.ToList<int>();
}
public bool UserHasGravatar(int userId)
{
UserIds.Find(
delegate(int i)
{
return i == userId;
}
);
return false;
}
这样做的最佳方法是什么?
编辑:我的代码需要遍历大约 40000 个用户的列表,并更新他们的图像(如果他们没有),所以我认为最快的方法是将所有带有图像的用户 ID 加载到一个列表中,然后检查数据库中的所有用户 ID,如果用户 ID 不存在,则更新图像,否则继续。
最佳答案
rows.Select(r=>/*However you get a single int from a single row*/).ToList();
更新:
我假设您使用的是 .NET Framework 3.5?但我可能错了...
关于c# - 将 datarow[] 转换为 List<int> 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3530279/