我无法理解为什么这个测试会因消息“Assert.AreEqual失败而失败.预期:< 2>.Actual:< 1> ;.”
[TestMethod] public void Test() { char[] a1 = "abc".tocharArray(); char[] a2 = {'a','b','c',' ',' '}; Assert.AreEqual(2,a2.Except(a1).Count()); }
但以下内容将通过:
[TestMethod] public void Test() { char[] a1 = "abc".tocharArray(); char[] a2 = {'a','d',a2.Except(a1).Count()); }
解决方法
因为除了找到两个序列的差异
http://msdn.microsoft.com/ru-ru/library/system.linq.enumerable.except.aspx
也许你需要这样的东西
var c=a2.Where(a=>a1.Contains(a)==false).Count();