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();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix