我有一个问题。我正在测试我的一个库,它生成一些 xml 样式的文本。到目前为止,我正在测试该功能
Assert.AreEqual(string1, string2);
但是xml样式的字符串长度超过300个字符。当我在一个字符上犯了一点错误时,测试失败并且输出是字符串不相等。但是测试没有说,在哪个位置他们不相等。
所以我的问题是:是否已经有一个实现的函数,它比较两个字符串并告诉我它们在哪个位置不同 + 字符串的输出......?
最佳答案
试试这个
var indexBroke = 0;
var maxLength = Math.Min(string1.Length, string2.Length);
while (indexBroke < maxLength && string1[indexBroke] == string2[indexBroke]) {
indexBroke++;
}
return ++indexBroke;
逻辑是你一步一步比较每个字符,当你得到第一个差异时,函数退出返回最后一个具有相同字符的索引
关于c# - Visual Studio 2013 : Testing/Assert Strings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27190921/