LINQ sélection distincte de 4 IEnumerable listes

Imaginer quatre listes, tout au moins avoir cette chaîne d'Id de propriété, mais peut avoir d'autres propriétés:

public class A //or B, C, D
{
    public string Id { get; set; }
    //..other properties
}

//so:  
List<A> a1 = new List<A>();
List<B> a2 = new List<B>();
List<C> a3 = new List<C>();
List<D> a4 = new List<D>();

Je veux sélectionner tous DISTINCTS id:
a1, combiné avec a2, a3 et a4

Je pensais que la syntaxe LINQ serait l'idéal, mais comment les combiner pour un IEnumerable résultat avec une seule chaîne de propriété, par exemple quelque chose avec une définition de classe A.

OriginalL'auteur CRice | 2009-06-09