如何从List()中获取整数值的总计?

Pra*_*ari 3 c# linq sorting list

List具有具有以下属性的对象:

public class PropertyDetails
{

 public int Sequence { get; set; }

 public int Length { get; set; }

 public string Type { get; set; }

 public int Index { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

列表将有已排序的序列.

List的对象值如下:

Sequence = 1 Length = 20 Type =""Index = 0

Sequence = 2 Length = 8 Type =""Index = 0

序列= 3长度= 6类型=""索引= 0

Sequence = 4 Length = 20 Type =""Index = 0

Sequence = 5 Length = 8 Type =""Index = 0

我想要Linq查询,它会给我结果List as

序列= 1长度= 20Type =""索引= 20

序列= 2长度= 8类型=""索引= 28

序列= 3长度= 6类型=""索引= 34

序列= 4长度= 20类型=""索引= 54

序列= 5长度= 8类型=""索引= 62

其中index是考虑序列的长度的累积和.

Jak*_*kob 9

我从来没有说过这个,但我发现Jon的解决方案是过度工程化.相反,我发现LINQ是这个问题的错误解决方案.你想操纵状态,不适合传统的LINQ操作符.

我只是这样做:

var sum = 0;
foreach (var p in list) {
  sum += p.Length;
  p.Index = sum;
}
Run Code Online (Sandbox Code Playgroud)

LINQ是一把锤子.确保使用正确的工具解决问题,而不仅仅是要求锤击建议.