如何从数据表中获取相同数据类型的列的列表

本文关键字:数据类型 列表 获取 数据表 | 更新日期: 2023-09-27 18:35:59

我的程序中有一个数据表,我想获取具有相同数据类型的列的列表。

我使用了以下代码:

        DataTable dt = new DataTable();
        dt.Columns.Add("col1", typeof(string));
        dt.Columns.Add("col2", typeof(string));
        dt.Columns.Add("col3", typeof(int));
        dt.Columns.Add("col4", typeof(string));
        List<DataColumn> string_type_columns = new List<DataColumn>();
        for (int i = 0; i < dt.Columns.Count;i++ )
        {
            if (dt.Columns[i].DataType.ToString().Equals("System.String"))
            {
                string_type_columns.Add(dt.Columns[i]);
            }
        }

string_type_columns 会给我字符串数据类型的列列表。但是在我的实际程序中,我的表中可能有 40 多列,所以我不想遍历 DataTable 的每一列。

还有其他(更好)的方法可以做到这一点吗?

如何从数据表中获取相同数据类型的列的列表

如果你只是想要更少的代码,我想你可以使用 LINQ。

var string_type_columns = dt.Columns.Cast<DataColumn>().Where(c => c.DataType == typeof(String));