我有一个类PropertyDetails:
public class PropertyDetails
{
public int Sequence { get; set; }
public int Length { get; set; }
public string Type { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我正在创建一个PropertyDetails列表
List<PropertyDetails> propertyDetailsList = new List<PropertyDetails>();
Run Code Online (Sandbox Code Playgroud)
我希望Length列表中的总和PropertyDetails.Sequence<sumValue = 4
Linq解决方案是受欢迎的.
dtb*_*dtb 16
序列小于4的长度之和:
var result = propertyDetailsList.Where(d => d.Sequence < 4)
.Sum(d => d.Length);
Run Code Online (Sandbox Code Playgroud)
您可以使用Sumlinq 的扩展方法.首先,您过滤掉那些不符合您条件的物品Where.然后你要么使用Select(pd=>pd.Length).Sum(),要么使用传递给的函数将PropertyDetail中的项映射到Length Sum().
const int sumValue = 4;
propertyDetailsList
.Where(pd=>pd.Sequence < sumValue)
.Sum(pd=>pd.Length);
Run Code Online (Sandbox Code Playgroud)
int sumLength = propertyDetailsList.Where(p => p.Sequence < 4).Sum(p => p.Length);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17925 次 |
| 最近记录: |