diff --git a/LinqStudy.Test/LinqToObject/TakeTest.cs b/LinqStudy.Test/LinqToObject/TakeTest.cs index faee9ce..32925ab 100644 --- a/LinqStudy.Test/LinqToObject/TakeTest.cs +++ b/LinqStudy.Test/LinqToObject/TakeTest.cs @@ -40,5 +40,41 @@ namespace LinqStudy.Test.LinqToObject //因为匹配第一项时,结果是False,程序直接返回,不再进行下次迭代,所以返回空集合。 Assert.Empty(person); } + + [Fact] + public void Test_0() + { + List perons1 = new List { + new Person { Id=1,Name="woody1"}, + new Person { Id=2,Name="woody2"}, + new Person { Id=3,Name="woody3"}, + new Person { Id=4,Name="woody4"}, + }; + + List perons2 = new List { + new Person { Id=3,Name="woody3"}, + new Person { Id=4,Name="woody1"}, + new Person { Id=5,Name="woody5"}, + new Person { Id=6,Name="woody6"}, + }; + + var person = perons1.Intersect(perons2).ToList(); + + //特别注意:引用对象比较是否同一个引用,虽然内容一样,但引用不一样,交集仍然为空集合。 + Assert.Empty(person); + } + + [Fact] + public void Test_1() + { + List test1 = new List() { 1, 2, 3, 4 }; + List test2 = new List() { 3, 4, 5, 6 }; + + var person = test1.Intersect(test2).ToList(); + + //特别注意:值对象,比较值本身。 + Assert.Equal(2, person.Count); + } } + }