Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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# c将新项附加到列表项_C#_List - Fatal编程技术网

C# c将新项附加到列表项

C# c将新项附加到列表项,c#,list,C#,List,下面的代码有一个列表,其中有两行,我希望能够合并这两行,并根据国家对收入字段求和 public class City { public string Name {get;set;} public string Country {get;set;} public double income {get;set;} } public class myClass { void Main() { var c = GetCities(); var d = c.GroupBy(s => ne

下面的代码有一个列表,其中有两行,我希望能够合并这两行,并根据国家对收入字段求和

public class City
{
 public string Name {get;set;}
 public string Country {get;set;}
 public double income {get;set;}
}
public class myClass
{
void Main()
{

 var c = GetCities();
 var d = c.GroupBy(s => new {s.Country, s.Flag, s.Name}).Select(s => new City { Country = s.Key.Country, Flag = s.Key.Flag, Name = s.Key.Name});
 d.Dump(); //LINQPAD output to screen
}

public List<City> GetCities()
{
 List<City> cities = new List<City>();
 cities.Add(new City() { Name = "Istanbul", income= 22.00, Country = "Turkey"  });
 cities.Add(new City() { Name = "", income= 44.88, Country = "Turkey" });
 return cities;
}
}
在我的实际应用程序中,列表在两个位置生成,但数据需要显示在一行上

找到了我的答案

var result = c.GroupBy(x => x.Country)
.Select(g => {
var item = g.First();
return new{
Country = item.Country,
Name = item.Name,
income = g.Sum(x => x.income) };
}).ToList();

还不完全清楚到底是什么错了。你能澄清一点吗,也许是输入数据和预期输出?当我不做for循环时,它会在两个单独调用的一行中显示出来。输出与显示的代码无关,因此,您还需要显示这是如何输出的。我已经显示了屏幕上显示的输出。我对我想要的内容做了一个更简单的修改。好吧,这似乎取了第一个名称,而忽略了其余的名称。然后将结果相加。您的结果不应该忽略名称吗?与您拥有的相同,但没有名称=item.Name。一点