比较2个列表视图,并将不匹配的项目放在Windows窗体C#的第三个列表视图中

时间:2015-06-16 11:46:05

标签: c# winforms listview

我在Windows窗体中有两个列表视图,其中有数据。有一些记录是常见的,而其他记录则不常见。我需要得到那些不匹配的记录。我该怎么办才能获得不匹配的记录。

2 个答案:

答案 0 :(得分:0)

尝试使用Linq Except方法获取无匹配项的列表。

答案 1 :(得分:0)

试试这个:

 using Sustem.Linq; // Add this line. 
                    //If it doesn't work add a reference to System.Core.dll

    namespace FormAppp
    {
        public class Form1 : Form
        {
            public Form1()
            {
            }

            ....

            void DoInitialization()
            {
                listView1.Items.Add(new ListViewItem("1"));
                listView1.Items.Add(new ListViewItem("2"));
                listView1.Items.Add(new ListViewItem("3"));


                listView2.Items.Add(new ListViewItem("1"));
                listView2.Items.Add(new ListViewItem("3"));

                var list1Source = listView1.Items.Cast<ListViewItem>();
                var list2Source = listView2.Items.Cast<ListViewItem>();

                var list3Source = list1Source.Where(x => 
                 list2Source.All(y => y.Text != x.Text));
            } 
        }
    }