Перепишите этот выход foreach в доход linq?
Скажем, у меня есть следующий код (контекст сужен, чтобы ограничить область действия вопроса)
public static IEnumerable GetThemColors(){
var ids = GetThePrimaryIds();
foreach (int id in ids){
yield return GetColorById(id);
}
ids = GetTheOtherIds();
foreach (int id in ids){
yield return GetOtherColorsById(id);
}
}
Я хотел бы переписать их что-то вроде этого (что, конечно, нет компилировать
public static IEnumerable GetThemColors(){
GetThePrimaryIds().Select(id=>yield return GetColorById(id));
GetTheOtherIds().Select(id=>yield return GetOtherColorsById(id));
}
Ключевым моментом является то, что в моем первом фрагменте у меня есть два счетчика foreach, которые я не получаю.не знаю, как это сделать в linq, не теряя при этом своих функций отложенной загрузки.