我有兩個數組(兩者長度相同),我試圖遍歷兩個數組中的每個元素,並測試這些元素(它們的是否相同索引)是否相等。我想得到相同的數字和不相等的數字。我已經能夠使用while
循環做到這一點,但我想知道System.Linq
擴展是否有更快的方法?獲取相同索引處相同元素的數量
這就是我現在所擁有的:
var list1 = new List<Color>
{
Color.Aqua,
Color.AliceBlue,
Color.Beige,
Color.Red,
Color.Green,
Color.White
};
var list2 = new List<Color>
{
Color.Red,
Color.BurlyWood,
Color.Beige,
Color.Azure,
Color.Green,
Color.Magenta
};
var enumFirst = list1.GetEnumerator();
var enumSecond = list2.GetEnumerator();
var equal = 0;
var notEqual = 0;
while (enumFirst.MoveNext() && enumSecond.MoveNext())
{
var colorFirst = enumFirst.Current;
var colorSecond = enumSecond.Current;
if (colorFirst == colorSecond)
equal++;
else
notEqual++;
}
Console.WriteLine("Elements that are equal: " + equal);
Console.WriteLine("Elements that are not equal: " + notEqual);
輸出是:
Elements that are equal: 2
Elements that are not equal: 4