首页 > 解决方案 > 鉴于这三种相似的方法,我们如何将它们浓缩为一个方法?

问题描述

public int Add2(int a, int b) => a + b;
public int Add3(int a, int b, int c) => a + b + c;
public int Add4 (int a,int b,int c,int d) => a + b + c + d;

我们如何在单个方法下编写这些方法?

标签: c#

解决方案


在您的添加方法中使用params int[],您可以添加任意数量的数字。

就像是:

using System;

public class Program
{
    public static void Main()
    {
        Console.WriteLine(Add(1, 2, 3, 4, 5));      
    }

    public static int Add(params int[] numbers) 
    {
        int sum = 0;
        foreach (int n in numbers)
        {
            sum += n;
        }

        return sum;
    }
}

结果:

15

小提琴演示

增强

使用Linq,代码变得更短

using System;
using System.Linq;

public class Program
{
    public static void Main()
    {
        Console.WriteLine(Add(1, 2, 3, 4, 5));      
    }

    public static int Add(params int[] numbers) 
    {
        return numbers.Sum();
    }
}

结果:

15

小提琴演示


推荐阅读