C#DataTable根据某一列查找另一列的值
DataTable dt=new DataTable(); dt.Columns.Add("ID", typeof(int)); dt.Columns.Add("name",typeof(string)); dt.Columns.Add("sex", typeof(string)); dt.Columns.Add("age", typeof(int)); DataRow dr1=dt.NewRow(); dr1["ID"] = 1; dr1["name"] = "joannes"; dr1["sex"] = "male"; dr1["age"] = 32; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["ID"] = 2; dr2["name"] = "cuckoo"; dr2["sex"] = "female"; dr2["age"] = 29; dt.Rows.Add(dr2); var test = dt.AsEnumerable().Where(dr => Convert.ToBoolean(dr[1] == "c0uckoo")).Select(dr=>Convert.ToString(dr[2])).ToList();
假设您的数据库列是强类型的(最好的):
dtt.AsEnumerable().Where( dr => dr.Field<bool>("isDefault" ) ) .Select( dr => dr.Field<int>( "value" ) ).FirstOrDefault();
使用类型转换:
dtt.AsEnumerable().Where( dr => Convert.ToBoolean( dr["isDefault"] ) ) .Select( dr => Convert.ToInt32( dr["value"] ) ).FirstOrDefault();
解析:
dtt.AsEnumerable().Where( dr => bool.Parse( dr["isDefault"].ToString() ) ) .Select( dr => int.Parse( dr["value"].ToString() ) ).FirstOrDefault();

浙公网安备 33010602011771号