예제 #1
0
            public SortedSet <string> DifferencesFrom(FileRecordContainer other)
            {
                SortedSet <string> differences = new SortedSet <string>();

                foreach (string fileRecord in other._fileRecordSet)
                {
                    if (!_fileRecordSet.Contains(fileRecord))
                    {
                        differences.Add(fileRecord);
                    }
                }

                return(differences);
            }
예제 #2
0
        } // class FileRecordContainer

        static void ShowDifferences(FileRecordContainer fileRecordContainer1, FileRecordContainer fileRecordContainer2)
        {
            SortedSet <string> differences1minus2 = fileRecordContainer1.DifferencesFrom(fileRecordContainer2);

            if (differences1minus2.Count == 0)
            {
                Console.WriteLine("All of \"{0}\" is contained in \"{1}\"", fileRecordContainer2.Filename, fileRecordContainer1.Filename);
            }
            else
            {
                Console.WriteLine();
                Console.WriteLine("There are {0} records in \"{1}\" that are not in \"{2}\"", differences1minus2.Count, fileRecordContainer2.Filename, fileRecordContainer1.Filename);
                Console.WriteLine();
                foreach (string fileRecord in differences1minus2)
                {
                    Console.WriteLine("    {0}", fileRecord);
                }
            }
        }
예제 #3
0
        static void Main(string[] args)
        {
            FileRecordContainer fileRecordContainer1 = null;
            FileRecordContainer fileRecordContainer2 = null;

            if (args.Length > 0)
            {
                fileRecordContainer1 = new FileRecordContainer(args[0]);
            }
            if (args.Length > 1)
            {
                fileRecordContainer2 = new FileRecordContainer(args[1]);
            }

            if ((fileRecordContainer1 != null) && (fileRecordContainer2 != null))
            {
                ShowDifferences(fileRecordContainer1, fileRecordContainer2);
                ShowDifferences(fileRecordContainer2, fileRecordContainer1);
            }
        }