什么是将datarow []转换为List <int>?</int>的最佳方法

时间:2010-08-20 11:06:17

标签: c# generics

我想将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加载到List中,然后检查数据库中的所有用户ID,如果userid不存在,则更新图像,否则继续。

1 个答案:

答案 0 :(得分:8)

rows.Select(r=>/*However you get a single int from a single row*/).ToList();

<强>更新

我假设您使用的是.NET Framework 3.5?但我可能错了......

相关问题