我的程序中有一个数据表,我想获得具有相同数据类型的列的列表。
我使用了以下代码:
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列,所以我不想遍历每一列数据表。
还有其他(更好)的方法吗?
答案 0 :(得分:0)
如果你只想要更少的代码,我想你可以使用LINQ。
var string_type_columns = dt.Columns.Cast<DataColumn>().Where(c => c.DataType == typeof(String));