我想写一个程序,
--> 如果我给出两个路径,即 path1 和 path2。
--> 那些需要比较和打印不同的文件夹和文件(它们在 path1 位置,而在 path2 中不存在,反之亦然)文件夹和文件。
-->我正在使用文件夹和文件的拖链列表。
-->我面临比较两个列表打印差异列表的问题。
如何比较两个列表项并打印不同的项目?
我想写一个程序,
--> 如果我给出两个路径,即 path1 和 path2。
--> 那些需要比较和打印不同的文件夹和文件(它们在 path1 位置,而在 path2 中不存在,反之亦然)文件夹和文件。
-->我正在使用文件夹和文件的拖链列表。
-->我面临比较两个列表打印差异列表的问题。
如何比较两个列表项并打印不同的项目?
我想你的意思是这样的:
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();
}
}
}