我想强调asp.net中两个文件之间的区别。网络搜索后,我选择了Diffplex APi。我是个乞丐。我需要一些如何实施它的指导?我添加了参考图书馆,这就是我能理解的。没有关于Api的任何文档。我之前没有使用过Apis。
答案 0 :(得分:6)
这是一个简单的例子,来自“文档”(即源代码),可以帮助您入门。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using DiffPlex;
using DiffPlex.DiffBuilder;
using DiffPlex.DiffBuilder.Model;
using System.Text;
namespace DiffPlexTest.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
StringBuilder sb = new StringBuilder();
string oldText = @"We the people
of the united states of america
establish justice
ensure domestic tranquility
provide for the common defence
secure the blessing of liberty
to ourselves and our posterity";
string newText = @"We the peaple
in order to form a more perfect union
establish justice
ensure domestic tranquility
promote the general welfare and
secure the blessing of liberty
to ourselves and our posterity
do ordain and establish this constitution
for the United States of America";
var d = new Differ();
var builder = new InlineDiffBuilder(d);
var result = builder.BuildDiffModel(oldText, newText);
foreach (var line in result.Lines)
{
if (line.Type == ChangeType.Inserted)
{
sb.Append("+ ");
}
else if (line.Type == ChangeType.Deleted)
{
sb.Append("- ");
}
else if (line.Type == ChangeType.Modified)
{
sb.Append("* ");
}
else if (line.Type == ChangeType.Imaginary)
{
sb.Append("? ");
}
else if (line.Type == ChangeType.Unchanged)
{
sb.Append(" ");
}
sb.Append(line.Text + "<br/>");
}
ViewData["old"] = oldText;
ViewData["new"] = newText;
ViewData["result"] = sb.ToString();
return View();
}
}
}