我想把a转换datarow[]成aList<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;
}
Run Code Online (Sandbox Code Playgroud)
这样做的最佳方式是什么?
编辑:我的代码需要遍历一个用户列表,大约40000,并更新他们的图像,如果他们没有,所以我认为这将是最快的,将所有用户ID与图像加载到列表,然后检查对数据库中的所有用户标识,如果用户标识不存在,则更新图像,否则继续.
rows.Select(r=>/*However you get a single int from a single row*/).ToList();
Run Code Online (Sandbox Code Playgroud)
更新:
我假设您使用的是.NET Framework 3.5?但我可能错了......