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();

 

posted @   Joooannes  阅读(534)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示