【发布时间】:2014-10-13 18:09:02
【问题描述】:
所以我是新手,我在互联网上找不到正确的答案。 在这里挖掘一点后,我想到了。
【问题讨论】:
标签: c# visual-studio google-diff-match-patch
所以我是新手,我在互联网上找不到正确的答案。 在这里挖掘一点后,我想到了。
【问题讨论】:
标签: c# visual-studio google-diff-match-patch
从here下载google-diff-match-patch
你已经解压了,打开你的 microsoft visual studio 项目
转到查看->解决方案资源管理器或按 Ctrl+Alt+L
在解决方案资源管理器中右键单击您的项目名称并转到添加->现有项目...或按 Shift+Alt+A
在出现的对话框中找到您的 diff-match-patch 文件夹并进入 csharp 目录并选择 DiffMatchPatch.cs 并点击添加
然后在解决方案资源管理器中右键单击 References->Add Reference...
搜索 System.Web 并添加它。
现在回到你的程序(在我的例子中是 Form1.cs)并输入
using DiffMatchPatch;
现在您可以在 C# 程序中使用 diff-match-patch 库的所有 functions
【讨论】:
或者,添加 Nuget 包 DiffMatchPatch 并将其添加到您的项目中。
一个演示代码如下:
using System;
using System.IO;
using DiffMatchPatch;
namespace ConsoleApp_DMPTrial
{
class Program
{
static void Main(string[] args)
{
var dmp = DiffMatchPatchModule.Default;
string file1Content = "";
string file2Content = "";
using (StreamReader sr = new StreamReader("file1.json"))
{
file1Content = sr.ReadToEnd();
}
using (StreamReader sr = new StreamReader("file2.json"))
{
file2Content = sr.ReadToEnd();
}
var diffs = dmp.DiffMain(file1Content, file2Content);
dmp.DiffCleanupSemantic(diffs);
for (int i = 0; i < diffs.Count; i++)
{
Console.WriteLine(diffs[i]);
}
Console.ReadLine();
}
}
}
【讨论】: