我有一个像这样的数组
for (var i = 0; i < objectLength; i++) {
var submitray = query.key[i].split(","); //error
var qid = submitray[0];
var userAnswer = submitray[1];
}
带有字段的对象:
public List<Application> all_roads = new List<Application>();
我想从所有对象中计算public string point_of_distination;
public uint length_of_route;
public double price;
public string our_drv_name;
public string our_drv_surname;
public string our_bus_model;
public double gen_ticket_price;
public short cur_year;
public byte cur_day;
public byte cur_month;
public double tour_consumption;
的一般总和。
我应该如何为此编写tour_consumption
循环?
请帮我。
答案 0 :(得分:6)
如果您只想计算tour_consumption
,可以试试这个:
var sum = all_roads.Sum(x => x.tour_consumption);
您无需明确选择tour_consumption
。您可以直接将lambda表达式传递给Sum()
函数。
请阅读以下article中LINQ Sum()
方法的工作原理。
另外,如果您想使用System.Linq
方法,请确保包含Sum()
命名空间。
答案 1 :(得分:3)
使用Linq会更容易:
var sum = all_roads.Sum(x => x.tour_consumption);
如果你真的想使用for循环:
double sum = 0;
for(var i = 0; i < all_roads.Count; i++)
{
sum += all_roads[i].tour_consumption;
}
或foreach循环
double sum = 0;
foreach (var app in all_roads)
{
sum += app.tour_consumption;
}
答案 2 :(得分:3)
double sum = 0;
foreach (var item in all_roads)
{
sum += tour_consumption;
}
答案 3 :(得分:0)
像其他人一样说:
double sum = 0.0;
foreach (var app in all_roads)
sum += app.tour_consumption;
您还可以查看:https://msdn.microsoft.com/en-us/library/ttw7t8t6.aspx了解有关foreach
循环的更多信息,或https://msdn.microsoft.com/en-us/library/bb397687.aspx了解有关Lambda表达式的更多信息