c# - 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();
}
}
}
任何帮助表示赞赏
解决方案
推荐阅读
- javascript - 将自定义模板传递给模板组件
- python - 在 Python 中解析来自 json 文件的输入
- ruby - 使用 Rails 应用程序通过谷歌云语音将视频转换为文本(成绩单)
- json - SOLR post json 文件 默认字段类型
- ios - 如何将单元格数据放入单元格类而不是 VC 类?,iOS,Swift
- python - 在开发模式下安装的导入包
- javascript - Angular 5 - 我应该使用哪个向后导航 - href 或 location.back()?
- tfs - 我想使用 rest api 获取 tfs 用户的最后访问日期
- html - 如何使用 Swift WKWebView 加载大尺寸的 html 页面内容
- c++ - C++ MFC 覆盖 OnPaint() 不在另一台计算机上绘画