Chcę użyć LINQ do wybrania unikalnej listy ciągów, przechowywanych jako lista wewnątrz obiektu. Obiekt ten jest przechowywany na liście wewnątrz innego obiektu. Trudno to wyjaśnić, oto przykład:Użyj LINQ, aby wybrać różne właściwości na listach list.
public class Master
{
public List<DataCollection> DateCollection { get; set; }
public Master() { this.DateCollection = new List<DataCollection>(); }
}
public class DataCollection
{
public List<Data> Data { get; set; }
public DataCollection() { this.Data = new List<Data>(); }
}
public class Data
{
public string Value{ get; set; }
public Data() { }
}
Korzystanie z klasy Master Chcę uzyskać listę unikalnych ciągi wartości w klasie danych. Próbowałem następujące:
List<string> unique = master.Select(x => x.DataCollection.Select(y => y.Value)).Distinct().ToList();
Czy ktoś mi pokazać, jak to się robi?
Więc chcesz wyraźną 'Data' wszystkich swoich' dane DataCollection' za zszyte razem? – ryanyuyu
wyróżnij go w wewnętrznych parantezach, takich jak master.select (x => x.DataCollection.Select (y => y.value) .Distinct()). Twój metohd otrzymuje teraz odrębny mistrz, a nie odrębne wartości wewnętrzne – maximdumont