5

我不确定标题是否传达了我的意思,如果您能更好地用一句话来定义这个问题,请更改它。

我想遍历 T 的集合,但不是使用 (T) 对象,而是要检索 (T)object.SomeProperty。

我该怎么做:

List<Car> _cars;
FillList(_cars);

foreach (Car car in _cars)
{
    Windshield ws = car.Windshield;

    ws.DoWorkA();
    ws.DoWorkB();
    ws.DoWorkC();
}

我想做的事:

List<Car> _cars;
FillList(_cars);

foreach (Car car in _cars using ws as Windshield = car.Windshield)
{
    ws.DoWorkA();
    ws.DoWorkB();
    ws.DoWorkC();
}

有什么办法可以成为一个更懒的程序员?

4

2 回答 2

14

您可以使用 LINQ 并选择:

foreach (Windshield ws in _cars.Select(car => car.Windshield))
{
    ws.DoWorkA();
    ws.DoWorkB();
    ws.DoWorkC();
}
于 2012-06-22T14:01:40.797 回答
1

使用 Linq:

List<Car> _cars; 
FillList(_cars);  
foreach (Windshield ws in _cars.Select(c=>c.Windshield) {
         ws.DoWorkA();
         ws.DoWorkB();
         ws.DoWorkC(); 
    } 
于 2012-06-22T14:03:23.633 回答