IEnumberable 有一个扩展方法 Contains<T>,它接受两个参数。第一个参数是要检查的值,第二个参数是 IEqualityComparer 的实现。查看 IEqualityComparer.Equals 它需要两个名为 x 和 y 的参数,用于比较第一个和第二个对象。
我的问题是 IEnumerable 的值是 X 还是 Y?
例子
List<string> test = new List<String() { "a", "b", "c" };
test.Contains("d", myComparer);
当它为第一个值调用 Equals 方法时,它将是 Equals("a","d") 还是 Equals("d","a")?