我有这样的方法产生的2种方法得到的值:更加紧凑的“收益回报”方式?
private IEnumerable<Node> ParseEmptyElement()
{
foreach (var node in ParseMembersOfObject())
{
yield return node;
}
foreach (var node in ParseNestedProperty())
{
yield return node;
}
}
看来非常详细我。
是否有更好的方式表达“从MethodX中产生所有值”,然后对MethodY执行相同的操作?
例子:
private IEnumerable<Node> ParseEmptyElement()
{
#yield all# items from ParseMembersOfObject();
#yield all# items from ParseNestedProperty();
}
我不想被强制写foreach循环成一条线!但我也不想写不折不扣foreach循环用花括号和所有的东西:)
'返回ParseMembersOfObject().Concat(ParseNestedProperty())'? –
[C#:return yield range/collection]可能的重复(http://stackoverflow.com/questions/5415902/c-return-yield-range-collection) –
也相关:http://stackoverflow.com/questions/ 1270024/nested-yield-return-with-ienumerable –