2017-07-19 3 views
0
public class Ex 
{ 
    public string example1{get;set;} 
    public string example2{get;set;} 
    public Test test{get;set;} 
}  

public class Test 
{ 
    public string example3 {get;set;} 
public long[] arrayLong{get;set;} 
} 

Ich habe Liste listEx zum Beispiel 10 Elemente. Wie bekomme ich Arraylong?Wie bekomme Array-Element aus der Liste einige Objekte

long[] result = listEx.Select(x=> x.Test.Select(y =>y.arrayLong)).ToArray(); 

Ich brauche nur lange [] wie parse es?

Antwort

2

Verwenden Sie Funktion, die Sammlung von Sammlungen zu einer Sammlung "flatten" wird.

var result = listEx.SelectMany(ex => ex.Test.Select(test => test.arrayLong)).ToArray(); 

Von MSDN: Enumerable.SelectMany Method

1

Sie sollten Select verwenden

var outresult = listEx.SelectMany(t => t.Test.Select(s => s.arrayLong)).ToArray(); 
Verwandte Themen