我有n個元素的一類,並返回元素的平方和的平方根的屬性:C#的選擇查詢不修改外部變量
public double Length
{
get
{
double sum = 0.0;
Elements.Select(t => sum += t * t);
return Math.Sqrt(sum);
}
}
然而,這不工作 - 不管價值的元素,總和仍然是0.0。
爲什麼不能正常工作?
注:我已經實現了它的另一種方式,但我看明白了,爲什麼上面的代碼不起作用
所以你說因爲指定的代碼沒有對選定項目進行任何後續枚舉,所以不會評估表達式,並且求和不會改變? – 3Pi
是的,確切地說。而且您不應只枚舉所選項目,以便執行lambda。 – dtb