读书人

LINQ小疑点

发布时间: 2012-01-30 21:15:58 作者: rapoo

LINQ小问题

C# code
 public void Linq93(){    double startBalance = 100.0;     int[] attemptedWithdrawals = { 20, 10, 40, 50, 10, 70, 30 };     double endBalance =        attemptedWithdrawals.Aggregate(startBalance,            (balance, nextWithdrawal) =>                ((nextWithdrawal <= balance) ? (balance - nextWithdrawal) : balance));     Console.WriteLine("Ending balance: {0}", endBalance);}

求解释。

[解决办法]
Aggregate,累计。

原来有100元,不断扣钱,但是如果不够扣了,就不扣了。
[解决办法]
Aggregate 用法,将结果 与下一个元素 进行操作,你的是 三元运算。
大致如下
C# code
            /*             (100,20)=> 100-20=80             (80,10) => 80-10=70             (70,40) => 70-40=30             (30,50) => 30             (30,10) => 30-10=20             (20,70) => 20,             (20,30) => 20             */
[解决办法]

读书人网 >.NET

热点推荐