DataTable通过Select进行过滤

DataTable方法测试

复制代码
  //测试DataTable的select
            DataTable dt = new DataTable();
            //a.OrderType,
            //a.[Status]
            dt.Columns.Add("No", typeof(String));
            dt.Columns.Add("Type", typeof(String));
            dt.Columns.Add("Status", typeof(String));

            dt.Rows.Add(new object[] { "A01", "N", "N1" });
            dt.Rows.Add(new object[] { "A01", "G", "G1" });
            dt.Rows.Add(new object[] { "A01", "T", "T1" });
            dt.Rows.Add(new object[] { "A01", "N", "N2" });
            dt.Rows.Add(new object[] { "A02", "G", "G1" });
            dt.Rows.Add(new object[] { "A02", "T", "T1" });
            dt.Rows.Add(new object[] { "A03", "N", "N1" });
            dt.Rows.Add(new object[] { "A04", "S", "S1" });
            dt.Rows.Add(new object[] { "A05", "G", "G1" });
            dt.Rows.Add(new object[] { "A05", "T", "T1" });

            DataRow[] arrRow = dt.Select("No='A01' and ((Type='N') or (Type='G' and Status<>'G1') or(Type='T' and Status<>'T1'))");
            //Console.WriteLine(arrRow[0]["Type"]);
         
           var arrRow2= arrRow.Select<DataRow,DataRow>(dr=> {
                if (dr["Type"].ToString() == "N")
                    return dr;
                else
                   return null;
            });
            foreach(var r in arrRow2)
            {
                if(r!=null)
                    Console.WriteLine(r["No"].ToString()+"===="+r["Status"].ToString());
            }
复制代码

 

posted on   荆棘人  阅读(531)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2018-09-17 同学的五年后再聚

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示