首页 > 解决方案 > Git Diff 风格程序 C#

问题描述

我正在创建一个类似于 Git Diff 目的的程序,但无法完成某些事情,例如打印文件中的哪些行不同以及对不同/缺失的单词进行处理。我试过这样的东西,图书馆里有什么特别的东西可以用吗?(此代码片段仅来自 MENU 类)

 {
        menu menu = new menu();
        DirectoryRead dr = new DirectoryRead();

        //create array allFiles from bin/debug directory contents
        List<string> allFiles = dr.GetFiles();

        //choose two files to check if different. These are the file names.
        string file1 = menu.TextChoose(allFiles, "First File");
        string file2 = menu.TextChoose(allFiles, "Second File");


        //reads the file contents into an object 'readfile'(see Arrayreader constructor and 'readfile' property)
        ArrayReader firstArray = new ArrayReader(file1);
        ArrayReader secondArray = new ArrayReader(file2);


        bool isEqual = Enumerable.SequenceEqual(firstArray.readArray, secondArray.readArray);
        if (isEqual == true)
        {
            Console.WriteLine($"{file1} and {file2} are the the same!");
        }
        if (isEqual == false)
        {
            Console.WriteLine($"{file1} and {file2} are different!");
            string[] file1F = File.ReadAllLines(Path.Combine(dr, file1));
            string[] file2F = File.ReadAllLines(Path.Combine(dr ,file2));

            for (int i = 1; i < file2F.Length; i++)
            {
                if (file2F[i] != file2F[i])
                {
                    Console.WriteLine("Line: {0}, Old: {1}, New: {2}", i, file1F[i], file2F[i]);
                }
            }
        }

        menu.endProgram();
    }
}

}

任何帮助表示赞赏

标签: c#git

解决方案


推荐阅读