linq to datatable 和lambda查詢datatable

來源:互聯網
上載者:User

標籤:

用Linq查詢DataTable

        static DataTable table = new DataTable();        static DataColumn dc = new DataColumn();        static void Main()        {            Createtable();            table.Rows.Add(1, 2,"2010-1-1");            table.Rows.Add(2, 3, "2010-1-1");            table.Rows.Add(3, 4, "2010-1-1");            table.Rows.Add(4, 5, "2010-1-1");            table.Rows.Add(5, 2, "2010-1-2");            table.Rows.Add(6, 3, "2010-1-2");            table.Rows.Add(7, 4, "2010-1-2");            table.Rows.Add(8, 5, "2010-1-2");            var query = from dt in table.AsEnumerable()                        where new int[] { 2, 3, 4 }.Contains(dt.Field<Int32>("PID"))                        orderby dt.Field<DateTime>("CreateDate") descending                        group dt by dt.Field<Int32>("PID") into g                        let n = (from d in g.Take(2).Skip(1) select d).FirstOrDefault()                        select new                        {                            ID = n.Field<Int32>("ID"),                            PID = g.Key,                            CreateDate = n.Field<DateTime>("CreateDate")                        };            query.ToList().ForEach(m => Console.WriteLine("{0}\t{1}\t{2}\t",m.ID,m.PID,m.CreateDate));        }        public static void Createtable()        {            dc = new DataColumn("ID", Type.GetType("System.Int32"));            table.Columns.Add(dc);            dc = new DataColumn("PID", Type.GetType("System.Int32"));            table.Columns.Add(dc);            dc = new DataColumn("CreateDate", Type.GetType("System.DateTime"));            table.Columns.Add(dc);        }

 

用Lambda運算式查詢DataTable

DataTable dt = new DataTable();            DataColumn dc = new DataColumn("UserName", System.Type.GetType("System.String"));            DataColumn dc1 = new DataColumn("UserPwd", System.Type.GetType("System.String"));            dt.Columns.Add(dc);            dt.Columns.Add(dc1);            DataRow dr = dt.NewRow();            dr["UserName"] = "22";            dr["UserPwd"] = "33";            dt.Rows.Add(dr);                     var rownumber = dt.AsEnumerable().Where<DataRow>(C=>C["UserName"].ToString()=="22");            int row = rownumber.Count<DataRow>();            foreach ( DataRow en in  rownumber)            {                Response.Write("User" + en["UserName"] + "pwd" + en["UserPwd"]);            }

 

linq to datatable 和lambda查詢datatable

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.