循环在不同时间列出和访问不同属性的C#方法

循环在不同时间列出和访问不同属性的C#方法,c#,list,for-loop,C#,List,For Loop,所以我有一个列表,我需要循环并计算一些东西。每个产品都有属性价格和税。我想做的是有一个方法,在这个方法中,我可以循环遍历列表,计算总价格和总税收,但我不想为此编写方法 目前,我有以下几点: private double calculateTotalPrice() { List<Product> temp = this.GetList(); double price = 0; for(int i =

所以我有一个
列表
,我需要循环并计算一些东西。每个
产品
都有属性
价格
。我想做的是有一个方法,在这个方法中,我可以循环遍历列表,计算总价格和总税收,但我不想为此编写方法

目前,我有以下几点:

private double calculateTotalPrice()
        {
            List<Product> temp = this.GetList();
            double price = 0;
            for(int i = 0; i < Count; i++)
            {
                price += temp[i].Price;
            }

            return price;
        }
private double calculateTotalPrice()
{
List temp=this.GetList();
双倍价格=0;
for(int i=0;i
但是用这个方法,我需要有一个计算价格的方法和另一个计算税收的方法。有没有可能改变这个方法,这样我可以调用它,在某一时刻计算价格,下次调用它计算税收?我希望这样做时不使用If语句,但我不确定这是否可行

谢谢你的帮助

编辑:拼写

您可以使用命名空间中的现有方法,而无需自己编写

double price=temp.Sum(项目=>item.price);
双重税=临时总额(项目=>项目税);

您可以使用如下所示的聚合LINQ扩展方法

var totalPrice = temp.Aggregate((p1, p2) => p1.Price + p2.Price);
var totalTax = temp.Aggregate((t1, t2) => t1.Tax + t2.Tax);

非常感谢。我会用这个方法!