c#dictionary-添加存储在一个键上的值(列表)
这可能很简单,但在堆栈溢出处搜索并没有得到期望的结果 我有一本简单的字典,定义为c#dictionary-添加存储在一个键上的值(列表),c#,dictionary,C#,Dictionary,这可能很简单,但在堆栈溢出处搜索并没有得到期望的结果 我有一本简单的字典,定义为 var GetAllInjData = new Dictionary<double, List<double>>(); var GetAllInjData=new Dictionary(); 我所要做的就是从dict中选取每个键的值列表,并将它们相加得到一个值 我想你可以用LINQ做到这一点: GetAllInjData[<key>].Sum(); GetAllInjDat
var GetAllInjData = new Dictionary<double, List<double>>();
var GetAllInjData=new Dictionary();
我所要做的就是从dict中选取每个键的值列表,并将它们相加得到一个值 我想你可以用LINQ做到这一点:
GetAllInjData[<key>].Sum();
GetAllInjData[].Sum();
我想你可以用LINQ来做这件事:
GetAllInjData[<key>].Sum();
GetAllInjData[].Sum();
查看循环后进行编辑
IEnumerable<double> FieldProd = GetAllInjData.Select(a => a.Value.Sum());
IEnumerable FieldProd=GetAllInjData.Select(a=>a.Value.Sum());
查看循环后进行编辑
IEnumerable<double> FieldProd = GetAllInjData.Select(a => a.Value.Sum());
IEnumerable FieldProd=GetAllInjData.Select(a=>a.Value.Sum());
如果需要每个键的总和,则可以使用选择
将每个键-值对投影到一个新类型,并将键和值的总和作为属性:
GetAllInjData.Select(kvp => new {Key = kvp.Key, Value = kvp.Value.Sum()})
如果需要每个键的总和,则可以使用Select
将每个键值对投影到一个新类型,并将键和值的总和作为属性:
GetAllInjData.Select(kvp => new {Key = kvp.Key, Value = kvp.Value.Sum()})
试试这个:
double key = 1; //for example
double sum = 0.0;
GetAllInjData[key].ForEach(x => sum += x);
试试这个:
double key = 1; //for example
double sum = 0.0;
GetAllInjData[key].ForEach(x => sum += x);
像这样:
var sums =
from keyVal in GetAllInjData
select new
{
ForKey = keyVal.Key,
SumIs = keyVal.Value.Sum()
};
foreach(var sum in sums)
Debug.WriteLine($"Key: {sum.ForKey} Sum: {sum.SumIs}");
像这样:
var sums =
from keyVal in GetAllInjData
select new
{
ForKey = keyVal.Key,
SumIs = keyVal.Value.Sum()
};
foreach(var sum in sums)
Debug.WriteLine($"Key: {sum.ForKey} Sum: {sum.SumIs}");
试试这个
Dictionary<double, List<double>> GetAllInjData = new Dictionary<double, List<double>>() {
{1, new List<double>() {1,2,3,4,5,6}},
{2, new List<double>() {11,12,13,14,15,16}},
{3, new List<double>() {21,22,23,24,25,26}}
};
double results = GetAllInjData[2].Sum();
Dictionary GetAllInjData=new Dictionary(){
{1,新列表(){1,2,3,4,5,6},
{2,新列表(){11,12,13,14,15,16},
{3,新列表(){21,22,23,24,25,26}
};
double results=GetAllInjData[2].Sum();
试试这个
Dictionary<double, List<double>> GetAllInjData = new Dictionary<double, List<double>>() {
{1, new List<double>() {1,2,3,4,5,6}},
{2, new List<double>() {11,12,13,14,15,16}},
{3, new List<double>() {21,22,23,24,25,26}}
};
double results = GetAllInjData[2].Sum();
Dictionary GetAllInjData=new Dictionary(){
{1,新列表(){1,2,3,4,5,6},
{2,新列表(){11,12,13,14,15,16},
{3,新列表(){21,22,23,24,25,26}
};
double results=GetAllInjData[2].Sum();
如何将其放入循环中,即针对dict中的每个键。@tony将其放入循环的目的是什么。Sum()将返回所有项的总数。这是我最终所做的:List FieldProd=new List();对于(int k=0;k