LINQPad 7 版本使用一个更强大的差异对比引擎改进了 Util.Dif 函数的实现。简单来说,该函数可以对比两个对象的差异之处,并通过 Dump 方法进行展示。这有助于在回归测试等场景中比较新旧算法的输出。
对比字符串的差异
尝试在 LINQPad 7 中运行以下代码:
var strA = "The quick brown fox jumps over the lazy dog."; var strB = "The quick brown fox stop over the lazy dog"; Util.Dif(strA,strB).Dump();
PS:经测试,截至 7.0.6 版本,以上字符串差异对比对中文支持并不好。
对比对象的差异
LINQPad 支持对象之间的对比:
var clsA = new { Id = 1, Age = 30, Name = "Join" }; var clsB = new { Id = 2, Age = 30, Name = "Seven" }; Util.Dif(clsA,clsB).Dump();
对比列表的差异
LINQPad 也支持列表之间的差异对比:
var list1 = new Int32[] { 1, 2, 3, 4, 5 }; var list2 = new Int32[] { 1, 2, 3, 3, 5 }; Util.Dif(list1,list2).Dump();