我有這樣的方法產生的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 –