c#做对比软件

一些 HTML内容比较/文本差异比较 开源代码

1. DiffPlex - a .NET Diff Generator    http://diffplex.codeplex.com/SourceControl/changeset/view/052fd342999b  原网站dll下载
http://diffplex.codeplex.com/

简介:

具体使用可以参考http://diffplex.codeplex.com/wikipage?title=library&referringTitle=Home

IDiffer是差异比较的核心类,提供了两个文本的低精度的大致比较

ISidebySideDiff:提供了高精度的比较以及可以用两栏对比显示差异

接口

 

Silverlight

Website
 

2.diffengine

简介:

功能强大,

缺点:文本每行不能超过1024个字符

DifferenceEngine.DiffList_TextFile sourceFile   null ;
DifferenceEngine.DiffList_TextFile destinationFile 
=   null ;

sourceFile 
=   new  DifferenceEngine.DiffList_TextFile( " 1.txt " );
destinationFile 
=   new  DifferenceEngine.DiffList_TextFile( " 2.txt " );

DifferenceEngine.DiffEngine engine 
=   new  DifferenceEngine.DiffEngine();
engine.ProcessDiff(sourceFile,destinationFile, DifferenceEngine.DiffEngineLevel.FastImperfect);
ArrayList diffLines 
=  engine.DiffReport();
foreach  (DifferenceEngine.DiffResultSpan span  in  diffLines)
 {  
   
switch  (span.Status)
    {
 
case  ifferenceEngine.DiffResultSpanStatus.NoChange:
    
// 没改变
       break ;
 
case  DifferenceEngine.DiffResultSpanStatus.AddDestination:
// 新增的
      break ;
 
case  DifferenceEngine.DiffResultSpanStatus.DeleteSource:
// 已删除的
      break ;
case  DifferenceEngine.DiffResultSpanStatus.Replace:
// 修改的      
                 break ;
default :
 
//   默认
                       break ;

                }

            }
 

获取新增内容示例:

 

string str = ((DifferenceEngine.TextLine)(destinationFile.GetByIndex(span.DestIndex))).Line;


http://www.codeproject.com/KB/recipes/diffengine.aspx

 

3. htmldiff

简介:

HtmlDiff原本是Ruby版的HTML差异比较算法,后来有朋友做了个C#版本,特点是非常好用,过于简单
C#版:  http://htmldiff.codeplex.com/

Ruby版: http://github.com/myobie/htmldiff
http://www.rohland.co.za/index.php/2009/10/31/csharp-html-diff-algorithm/

 


4.NDiffDiff: A Diff Implementation for Lines and Chars in Text File

简介:

提供Winform Demo

http://www.codeproject.com/KB/recipes/NBDiffDiff.aspx

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C是一种被广泛应用的编程语言,它的起源可以追溯到1972年。C的设计初衷是为了提供一种快速、高效、通用的编程语言,让程序员能够更加方便地编写软件。 C语言具有简洁、高效、灵活的特点,可以用来编写各种类型的程序,包括操作系统、嵌入式系统、图形界面程序、网络应用等。C语言不仅适用于小型项目,也适用于大型项目,是很多优秀软件的基础。 C语言的语法相对简单,易于学习和理解。它提供了丰富的语法元素,包括变量、控制结构、函数等,可以让程序员以较低的学习成本快速上手。C语言还支持指针操作,使得程序可以更加高效地管理内存和数据结构。 C语言提供了广泛的函数库,包括标准函数库和扩展函数库,开发者可以根据自己的需求选择合适的函数库来实现所需功能,提高开发效率。同时,C语言还支持丰富的预处理指令,可以通过宏定义和条件编译等方式灵活地控制程序的编译过程。 C语言的代码可移植性强,同样的代码可以在不同的平台上编译和执行。这一特性使得C语言成为了跨平台开发的首选语言之一。此外,C语言还具有良好的性能和可靠性,能够满足大部分应用程序的需求。 总之,C语言是一种经典的编程语言,具有广泛的应用领域和良好的特性,对于学习编程和进行软件开发都是非常有价值的。无论是初学者还是有经验的程序员,都应该对C语言有所了解并掌握其基本知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值