我不确定这个标题是否表达了我的意思,如果你能用句子更好地定义这个问题,请改变它.
我想迭代一个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();
}
Run Code Online (Sandbox Code Playgroud)
我喜欢做什么:
List<Car> _cars;
FillList(_cars);
foreach (Car car in _cars using ws as Windshield = car.Windshield)
{
ws.DoWorkA();
ws.DoWorkB();
ws.DoWorkC();
}
Run Code Online (Sandbox Code Playgroud)
有没有办法成为一个更懒惰的程序员?
nem*_*esv 14
您可以使用LINQ并选择:
foreach (Windshield ws in _cars.Select(car => car.Windshield))
{
ws.DoWorkA();
ws.DoWorkB();
ws.DoWorkC();
}
Run Code Online (Sandbox Code Playgroud)