【发布时间】:2009-09-15 17:05:36
【问题描述】:
我想知道我下面比较字符串数组(或任何简单类型)的方法是否会对性能产生影响。
bool AreValuesEqual(List<string> oldFieldValue, List<string> newFieldValue)
{
if (oldFieldValue.Count != newFieldValue.Count)
return false;
var list1 = oldFieldValue;
list1.AddRange(newFieldValue);
var list2 = list1.Distinct();
return list2.Count() == newFieldIds.Count;
}
我不知道 Distinct() 会为此有多密集,但我认为与另一个循环相比,它不应该太多。
编辑 - 抱歉,应该提供更多背景信息。几件事:
-参数数组中不会有重复。
-我并不关心顺序,我只想知道一个数组中的值是否与另一个数组相同。如果另一个数组有不同的值,则返回 false。
【问题讨论】:
-
您知道 SequenceEquals 扩展吗?要获得您的功能,您首先必须订购列表。
-
另外,您可能需要检查 null。