KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a question on Union and Concat . var a1 = (new[] { 1, 2 }).Union(new[] { 1, 2 }); // O/P : 1 2 var a2 = (new[] { 1, 2 }).Concat(new[] { 1, 2 }); // O/P : 1 2 1 2 var a3 = (new[] { "1", "2" }).Union(new[] { "1", "2" }); // O/P : "1" "2" var a4 = (new[] { "1", "2" }).Concat(new[] { "1", "2" }); // O/P : "1" "2" "1" "2" The above result are expected, but in the case of List<T> I am getting the same result from both Union and Concat . class X { public int ID { get; set; } } class X1 : X { public int ID1 { get; set; } } class X2 : X { public int ID2 { get; set; } } var lstX1 = new List<X1> { new X1 { ID = 10, ID1 = 10 }, new X1 { ID = 10, ID1 = 10 } }; var lstX2 = new List<X2> { new X2 { ID = 10, ID2 = 10 }, new X2 { ID = 10, ID2 = 10 } }; var a5 = lstX1.Cast<X>().Union(lstX2.Cast<X>()); // O/P : a5.Count() = 4 var a6 = lstX1.Cast<X>().Concat(lstX2.Cast<X>()); // O/P : a6.Count() = 4 But both are behaving the same incase of List<T> . Any suggestions please?
Tags (comma-separated)
Save Edits
Cancel