试玩 LINQPad 的差异对比功能

228 阅读1分钟

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();

原文链接:www.coderbusy.com/archives/19…