DataTabe(DataRow)之间比较求交集、并集、差集

来源:互联网 发布:python 画图矢量图 编辑:程序博客网 时间:2024/06/05 22:37

  DataSet ds = new DataSet();
            ds.Locale = CultureInfo.InvariantCulture;
            FillDataSet(ds);

            DataTable contactTable = ds.Tables["Contact"];

 

            // Create two tables.
            IEnumerable<DataRow> query1 = from contact in contactTable.AsEnumerable()
                                          where contact.Field<string>("Title") == "Ms."
                                          select contact;

 

            IEnumerable<DataRow> query2 = from contact in contactTable.AsEnumerable()
                                          where contact.Field<string>("FirstName") == "Sandra"
                                          select contact;


            DataTable contacts1 = query1.CopyToDataTable();
            DataTable contacts2 = query2.CopyToDataTable();

 

            // Find the intersection of the two tables-----求交集用 Intersect/Union(并集)/Except(差集)
            var contacts = contacts1.AsEnumerable().Intersect(contacts2.AsEnumerable(),
                                                                DataRowComparer.Default);

 

            Console.WriteLine("Intersection of contacts tables");
            foreach (DataRow row in contacts)
            {
                Console.WriteLine("Id: {0} {1} {2} {3}",
                    row["ContactID"], row["Title"], row["FirstName"], row["LastName"]);
            }

原创粉丝点击