Возврат доходности IEnumerable с двумя списками ⇐ C#

Место общения программистов C#
Anonymous
Возврат доходности IEnumerable с двумя списками

Сообщение Anonymous »

Извините, если это слишком глупо :-)
У меня есть рабочий код такого типа:

Код: Выделить всё

public IEnumerable DoSmth()
{
foreach (...)
{
output = DoComplexCalc();
yield return new Class1(output);
}

yield break;
}
Допустим, я хочу сохранить «выходность», но теперь мне нужно вернуть два списка (как в примере ниже, но я не знаю, как использовать «выходность» в этом случае) )

Код: Выделить всё

public (IEnumerable, IEnumerable) DoSmth()
{
var list1 = new List();
var list2 = new List();
foreach (...)
{
output = DoComplexCalc();
if (output.Whatever)
{
list1.Add(new Class1(output));
}
else
{
list2.Add(new Class2(output));
}
}

return (list1, list2);
}
Конечно, я мог бы иметь две отдельные функции и т. д., но что, если я хочу пройти приведенный ниже цикл только один раз?

Код: Выделить всё

   foreach (...)
{
output = DoComplexCalc();
...
}
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/791 ... -two-lists

Вернуться в «C#»