首页 > 解决方案 > 循环列表并在不同时间访问不同属性的 C# 方法

问题描述

所以我有一个List<Product>我需要循环和计算一些东西的东西。每个Product都有属性PriceTax。我想要做的是有一个方法,我可以循环遍历列表并计算总价格和总税,但我不想为此写方法。

目前我有这个:

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

            return price;
        }

但是使用这种方法,我需要一种计算价格的方法和另一种计算税的方法。是否可以更改此方法,以便我可以调用它并在某一时刻计算价格,下次我调用它来计算税?我希望在不使用 If 语句的情况下做到这一点,但我不确定这是否可能。

感谢任何帮助。

编辑:拼写

标签: c#listfor-loop

解决方案


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

double price = temp.Sum(item => item.Price);
double tax = temp.Sum(item => item.Tax);

推荐阅读