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是考虑序列的长度的累积和.
我从来没有说过这个,但我发现Jon的解决方案是过度工程化.相反,我发现LINQ是这个问题的错误解决方案.你想操纵状态,不适合传统的LINQ操作符.
我只是这样做:
var sum = 0;
foreach (var p in list) {
sum += p.Length;
p.Index = sum;
}
Run Code Online (Sandbox Code Playgroud)
LINQ是一把锤子.确保使用正确的工具解决问题,而不仅仅是要求锤击建议.
归档时间: |
|
查看次数: |
3210 次 |
最近记录: |