用于列出泛型的数据表

本文关键字:数据表 泛型 用于 | 更新日期: 2023-09-27 18:32:54

我使用以下扩展将列从数据表提取到列表对象:

public static List<string> ColumnToList(this DataTable dt, string ColumnName)
{
    return dt.AsEnumerable().Select(x => x[ColumnName].ToString()).ToList();
}

可以使用通用数据类型(而不仅仅是字符串)? 在我的例子中,返回值可以是类似List<string>, List<datetime>, List<int>, List<bool>,...

用于列出泛型的数据表

当然,您可以使用DataRow.Field<T>方法:

public static List<T> ColumnToList<T>(this DataTable dt, string ColumnName)
{
    return dt.AsEnumerable().Select(x => x.Field<T>(ColumnName)).ToList();
}

调用方法时需要指定列类型,例如:

List<int> idList = dt.ColumnToList<int>("id");