Взгляните на этот пример, который я подбросил, чтобы показать вам метод Linq Union.Это работает только тогда, когда оба списка / IEnum имеют одинаковый тип (в нашем случае Model
).
void Main()
{
List<Model> by1 = new List<Model>();
by1.Add(new Model {Name = "zzzz",Value = "1111" });
by1.Add(new Model {Name = "fdgdfg",Value = "1234"});
by1.Add(new Model {Name = "zzzz",Value = "2222"});
List<Model> by2 = new List<Model>();
by1.Add(new Model {Name = "nnnn",Value = "ffff"});
by1.Add(new Model {Name = "nnnn",Value = "gggg"});
by1.Add(new Model {Name = "zzzz",Value = "3333"});
// Join the results of by1 and by2 as both are List<Model>
object dataSource = by1.Union(by2); // Results in a IEnumerable<Model>
// Bind the dataSource to the ListView
ListView1.DataSource = dataSource;
ListView1.DataBind();
}
И модель
public class Model {
public string Name { get;set;}
public string Value { get;set;}
}
Редактировать
Вы можете быть «модным» и даже выбрать объединение в анонимный тип.Например:
object dataSource = by1.Union(by2).Select(item=>new
{
yyyy = item.Name,
nnnn = item.Value
});
, который даст вам IEnumerable со свойствами yyyy и nnnn.