Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用LINQ将中间值添加到列表中_C#_Linq - Fatal编程技术网

C# 使用LINQ将中间值添加到列表中

C# 使用LINQ将中间值添加到列表中,c#,linq,C#,Linq,我有一个linq: listA包含Id、DateValueId和Value List<int> valueIds=new List<int>(); //valueIds contains the intermediate values of value ids from x by listA group x by new {Id=x.Id, Date=x.date} into g let sum= g.Sum(x=>!valueIds.Contains(x

我有一个linq:

listA
包含
Id
Date
ValueId
Value

List<int> valueIds=new List<int>();
//valueIds contains the intermediate values of value ids

from x by listA
 group x by new {Id=x.Id, Date=x.date}
  into g
 let sum= g.Sum(x=>!valueIds.Contains(x.ValueId):x.Value:0)
//I don't want to sum it if the valueIds are already added for sum
 select {
        Id =x.Id
        Value=sum
        }

这是否可以用一个
linq
语句而不是foreach来实现呢?

您的linq并没有太多关于您拥有什么和想要什么的描述。你能用语言描述一下吗?你想要实现什么?结果应该是什么样的?这对我来说没有意义。您希望如何填充
valueIds
中的中间值?@Enigmativity正是如此。我想知道这是否可能。就像使用聚合函数一样。@ZammyPage-你说的“准确”是什么意思?你是说你和我一样困惑吗?我的意思是如何在
valuesIds
buddy中填充中间值?
 List<int> valueIds=new List<int>();
 List<SomeClass> listB=new List<SomeClass>();

foreach (var x by listA.GroupBy(new {Id=x.Id, Date=x.date}))
 {
    var sum= g.Sum(x=>!valueIds.Contains(x.ValueId):x.Value:0)
    valueIds.Add(x.ValueId)
    listB.Add(new SomeClass{Id=x.Id, Value=sum)});
 }