-2

我想写一个程序,

--> 如果我给出两个路径,即 path1 和 path2。

--> 那些需要比较和打印不同的文件夹和文件(它们在 path1 位置,而在 path2 中不存在,反之亦然)文件夹和文件。

-->我正在使用文件夹和文件的拖链列表。

-->我面临比较两个列表打印差异列表的问题。

如何比较两个列表项并打印不同的项目?

4

1 回答 1

1

我想你的意思是这样的:

using System;
using System.Collections.Generic;
using System.Linq;

namespace ConsoleApplication11
{
    class Program
    {
        static void Main(string[] args)
        {

            var listA = new List<int> {1, 2, 5, 4, 7, 6, 5, 3};
            var listB = new List<int> {4, 2, 7, 4, 3, 6, 7, 8, 9, 4, 1};

            var itemsInANotInB = listA.Except(listB).ToList();
            var itemsInBNotInA = listB.Except(listA).ToList();

            var listsHaveAllElementsInCommon = !(itemsInANotInB.Any() && itemsInBNotInA.Any());
            var listAreSequenceEqal = listA.SequenceEqual(listB);

            Console.WriteLine("Items in A but not in B: {0}", itemsInANotInB.Select(x=>x.ToString()).Aggregate((x,y) => x+", "+y));
            Console.WriteLine("Items in B but not in A: {0}", itemsInBNotInA.Select(x => x.ToString()).Aggregate((x, y) => x + ", " + y));
            Console.WriteLine("A and B share the same elements? {0}", listsHaveAllElementsInCommon);
            Console.WriteLine("A and B are sequence-equal? {0}", listAreSequenceEqal);
            Console.Read();
        }
    }
}
于 2013-03-07T05:25:47.527 回答