using System;
using System.Collections.Generic;
using System.Linq;
class Test
{
private static void Main()
{
List<List<FilteredVM>> groupedExpressionResults = GetDataSample();
IEnumerable<int> ids = groupedExpressionResults.Aggregate((x, y) => x.Where(xi => y.Select(yi => yi.ID).Contains(xi.ID)).ToList()).Select(x => x.ID);
// ids : { 3, 7 };
foreach (var i in ids)
{
Console.WriteLine(i);
}
}
private static List<List<FilteredVM>> GetDataSample()
{
var lst1 = new List<FilteredVM>
{
new FilteredVM {ID = 2},
new FilteredVM {ID = 3},
new FilteredVM {ID = 7},
new FilteredVM {ID = 9},
};
var lst2 = new List<FilteredVM>
{
new FilteredVM {ID = 3},
new FilteredVM {ID = 6},
new FilteredVM {ID = 7},
};
var lst3 = new List<FilteredVM>
{
new FilteredVM {ID = 3},
new FilteredVM {ID = 5},
new FilteredVM {ID = 7},
new FilteredVM {ID = 8},
};
return new List<List<FilteredVM>> { lst1, lst2, lst3 };
}
}
public class FilteredVM
{
public int ID { get; set; }
public string Name { get; set; }
public string Number { get; set; }
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpjbGFzcyBUZXN0CnsKICAgIHByaXZhdGUgc3RhdGljIHZvaWQgTWFpbigpCiAgICB7CiAgICAgICAgTGlzdDxMaXN0PEZpbHRlcmVkVk0+PiBncm91cGVkRXhwcmVzc2lvblJlc3VsdHMgPSBHZXREYXRhU2FtcGxlKCk7CgogICAgICAgIElFbnVtZXJhYmxlPGludD4gaWRzID0gZ3JvdXBlZEV4cHJlc3Npb25SZXN1bHRzLkFnZ3JlZ2F0ZSgoeCwgeSkgPT4geC5XaGVyZSh4aSA9PiB5LlNlbGVjdCh5aSA9PiB5aS5JRCkuQ29udGFpbnMoeGkuSUQpKS5Ub0xpc3QoKSkuU2VsZWN0KHggPT4geC5JRCk7CgogICAgICAgIC8vIGlkcyA6IHsgMywgNyB9OwogICAgICAgIGZvcmVhY2ggKHZhciBpIGluIGlkcykKICAgICAgICB7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKGkpOwogICAgICAgIH0KICAgIH0KCiAgICBwcml2YXRlIHN0YXRpYyBMaXN0PExpc3Q8RmlsdGVyZWRWTT4+IEdldERhdGFTYW1wbGUoKQogICAgewogICAgICAgIHZhciBsc3QxID0gbmV3IExpc3Q8RmlsdGVyZWRWTT4KICAgICAgICB7CiAgICAgICAgICAgIG5ldyBGaWx0ZXJlZFZNIHtJRCA9IDJ9LAogICAgICAgICAgICBuZXcgRmlsdGVyZWRWTSB7SUQgPSAzfSwKICAgICAgICAgICAgbmV3IEZpbHRlcmVkVk0ge0lEID0gN30sCiAgICAgICAgICAgIG5ldyBGaWx0ZXJlZFZNIHtJRCA9IDl9LAogICAgICAgIH07CiAgICAgICAgdmFyIGxzdDIgPSBuZXcgTGlzdDxGaWx0ZXJlZFZNPgogICAgICAgIHsKICAgICAgICAgICAgbmV3IEZpbHRlcmVkVk0ge0lEID0gM30sCiAgICAgICAgICAgIG5ldyBGaWx0ZXJlZFZNIHtJRCA9IDZ9LAogICAgICAgICAgICBuZXcgRmlsdGVyZWRWTSB7SUQgPSA3fSwKICAgICAgICB9OwogICAgICAgIHZhciBsc3QzID0gbmV3IExpc3Q8RmlsdGVyZWRWTT4KICAgICAgICB7CiAgICAgICAgICAgIG5ldyBGaWx0ZXJlZFZNIHtJRCA9IDN9LAogICAgICAgICAgICBuZXcgRmlsdGVyZWRWTSB7SUQgPSA1fSwKICAgICAgICAgICAgbmV3IEZpbHRlcmVkVk0ge0lEID0gN30sCiAgICAgICAgICAgIG5ldyBGaWx0ZXJlZFZNIHtJRCA9IDh9LAogICAgICAgIH07CgogICAgICAgIHJldHVybiBuZXcgTGlzdDxMaXN0PEZpbHRlcmVkVk0+PiB7IGxzdDEsIGxzdDIsIGxzdDMgfTsKICAgIH0KfQoKcHVibGljIGNsYXNzIEZpbHRlcmVkVk0KewogICAgcHVibGljIGludCBJRCB7IGdldDsgc2V0OyB9CiAgICBwdWJsaWMgc3RyaW5nIE5hbWUgeyBnZXQ7IHNldDsgfQogICAgcHVibGljIHN0cmluZyBOdW1iZXIgeyBnZXQ7IHNldDsgfQp9Cg==