Я использую следующий шаблон в C #:
IList<foo> x = y.Select(a => new foo
{
b = Calc1(),
c = Calc2()
}).ToList();
foreach(foo f in x)
{
f.d = b / c;
}
Я хотел бы сделать следующее:
IList<foo> x = y.Select(a => new foo
{
b = Calc1(),
c = Calc2()
d = b / c;
}).ToList();
Таким образом, вопрос заключается в следующем: как вы можете изменить этот шаблон, чтобы разрешить присвоение значения, которое зависит от других значений, вычисляемых во время присвоения?
(Возможно, кто-то укажет, что d должно быть свойством, которое выполняет вычисление и возвращает значение. Это надуманный пример. Предположим, что значение d рассчитывается с использованием других значений в дополнение к c & b, которые не являются доступно позже.)