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

标签 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 加载到一个列表中,然后检查数据库中的所有用户 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/

相关文章:

Java 泛型 : Does "T2 extends T1" imply "T1 super T2"?

java - 将子类型集合转换为父类(super class)型集合

Java 通配符捕获因未知原因失败

c# - Nullable-如何在 C# 中的 DateTime 类型中仅比较日期而不比较时间?

c# - 我应该使用 Visual Studio 中的哪种类型的项目来创建 "hidden"实用程序?

c# - 在 .NET 任务中发送电子邮件在控制台应用程序中不起作用

c# - 在数据库中插入多条记录的最快方法

java - 使用 GSON 从 ClassLouder 类反序列化通用类型

java - 如何使用泛型并从父类继承而不引起名称冲突?

c# - 如何更改 ObservableCollection 中每个项目的数据?