i'm trying calculate sum of property name called total
grandtotal
. want grandtotal
calculates sum of total
, how tried it:
public class itemproperties { public int item { get; set; } public string description { get; set; } public int quantity { get; set; } public int unitprice { get; set; } public int tax { get; set; } public int totaltax { { return ((quantity * unitprice) * tax) /100 ; } } public int total { { return (quantity * unitprice) + totaltax; } } public int grandtotal { { foreach (var l in total) //error l += total; // error return l; //error } } }
the class itemproperties
added add()
method 2 times likes this: (so total
having different values each add)
items.add(new itemproperties { item = convert.toint32(lines[i]), description = lines[i + 1], quantity = convert.toint32(lines[i + 2]), unitprice = convert.toint32(lines[i + 3]), tax = convert.toint32(lines[i + 4]) }); items.add(new itemproperties { item = convert.toint32(lines[i + 5]), description = lines[i + 6], quantity = convert.toint32(lines[i + 7]), unitprice = convert.toint32(lines[i + 8]), tax = convert.toint32(lines[i + 9]) });
don't worry lines
variables, they're not relevant.. thing want grandtotal
calculate sum of total properties.
you cannot execute foreach
on not enumerable - , total
property int
, not ienumerable.
your grandtotal
property should in class contains collection of itemproperties
, code similar this:
public itemproperties[] myitems { get; set; } public int grandtotal { { var total = 0; foreach (var item in myitems) total += item.total; return total; } }
or if wanted use linq:
public list<itemproperties> myitems { get; set; } public int grandtotal { { return myitems.sum(item => item.total); } }
note i've kept simple , not included null checking code etc - that's exercise complete.