2017-02-22 16 views
0

我有一個List OS複雜類型中獲取特定對象領域,比方說一系列

public class Point { 
    public double X; 
    public int Id; 
} 

List<Point> points = (...); 

我如何獲得的所有IdList<int>在一定範圍內使用LINQ,說(minIndex, maxIndex)

我可以通過points.getRange(minIndex, maxIndex - maxIndex)獲得所有點對象,但是如何才能獲得Id字段的列表?

+0

,因爲我從使用'GetRange'你有興趣看在「Point」的索引中,而不在ID的值範圍內?=!我對嗎? –

回答

3

如果你只想要ID您可以使用Select聲明如下:

var ids = points.getRange(minIndex, maxIndex - maxIndex) 
       .Select(x => x.Id) 
       .ToList(); 
1

簡單:

var ids = points.Where(x => x.Id >= minIndex && xId <= maxIndex) 
    .Select(x => x.Id) 
    .ToList(); 
0
var ids = points.Where(p => (p.Id >= minIndex) && 
         (p.Id <= maxIndex)) 
       .Select(p => p.Id) 
       .ToList();