c#中list.sum()

List.Sum 是 C# 中 System.Linq 命名空间下的一个扩展方法,用于计算集合中所有元素的总和。这个方法可以用于计算 List, List, List 等数值类型集合的总和。此外,它还支持使用选择器函数从集合的每个元素中提取数值,然后计算这些数值的总和。

基本用法
以下是一些示例,展示如何使用 List.Sum 方法:

示例 1:计算整数列表的总和

点击查看代码
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

        int sum = numbers.Sum();

        Console.WriteLine(sum); // 输出: 15
    }
}

示例 2:计算双精度浮点数列表的总和

点击查看代码
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<double> numbers = new List<double> { 1.1, 2.2, 3.3, 4.4, 5.5 };

        double sum = numbers.Sum();

        Console.WriteLine(sum); // 输出: 16.5
    }
}

带选择器函数的用法
你可以使用选择器函数从集合的每个元素中提取数值,然后计算这些数值的总和。这个功能在处理复杂对象集合时非常有用。

示例 3:计算对象列表中某个属性的总和
假设我们有一个 Product 类,每个 Product 对象都有一个 Price 属性。我们可以计算所有产品价格的总和。

点击查看代码
using System;
using System.Collections.Generic;
using System.Linq;

class Product
{
    public string Name { get; set; }
    public decimal Price { get; set; }
}

class Program
{
    static void Main()
    {
        List<Product> products = new List<Product>
        {
            new Product { Name = "Product1", Price = 10.5m },
            new Product { Name = "Product2", Price = 20.75m },
            new Product { Name = "Product3", Price = 15.0m }
        };

        decimal totalPrice = products.Sum(p => p.Price);

        Console.WriteLine(totalPrice); // 输出: 46.25
    }
}


注意事项
空列表:

如果列表为空,Sum 方法将返回数值类型的默认值,例如 0 对于整数和浮点数。
Null 值:

如果列表包含 null 值(对于可空类型),Sum 方法会跳过这些 null 值,不会抛出异常。
性能:

Sum 方法会遍历集合中的所有元素,因此对于非常大的集合,计算总和可能会比较耗时。
通过 List.Sum 方法,可以方便地计算集合中元素的总和,尤其是在处理复杂对象集合时,可以通过选择器函数提取并计算特定属性的总和。

posted on 2024-07-23 14:25  吵醒未来  阅读(287)  评论(0编辑  收藏  举报

导航