1

我试图弄清楚如何从参数数组中调用 10 以下的所有值的总和。

到目前为止,我已经弄清楚如何调用值的值。关于我如何/应该得到这个数字的任何想法?

static int SumVals(params int[] vals)//parameter array
    {
        int sum = 0;
        foreach (int val in vals) //for each integer value 
        {
            sum += val; //sum equals sum plus val. returns all values added together
        }
        return sum;
    }

    static void Main(string[] args)
    {
        int sum = SumVals(100, 5, 2, 9, 800);
        Console.WriteLine("Summed Values = {0}", sum);
        Console.ReadKey();
    }
4

7 回答 7

5

在循环中添加 if 语句以仅添加 < 10 的值

foreach (int val in vals)
{
    if(val < 10)
    {
        sum += val;
    }
}
于 2013-03-14T17:24:32.217 回答
3

这是你想要做的吗?

static int SumVals(params int[] vals)
{
    return vals.Where(i => i < 10).Sum();
}
于 2013-03-14T17:24:52.470 回答
2
static int SumVals(params int[] vals)//parameter array
    {
        int sum = 0;
        foreach (int val in vals) //for each integer value 
        {
            if(val < 10) //only add to the sum if value is less than 10
                 sum += val; //sum equals sum plus val. returns all values added together
        }
        return sum;
    }

    static void Main(string[] args)
    {
        int sum = SumVals(100, 5, 2, 9, 800);
        Console.WriteLine("Summed Values = {0}", sum);
        Console.ReadKey();
    }
于 2013-03-14T17:24:54.940 回答
1
    foreach (int val in vals) //for each integer value 
    {
        if(val <10)
         sum += val; //sum equals sum plus val. returns all values added together
    }
于 2013-03-14T17:24:30.117 回答
1

您可以使用 LINQ 来做到这一点:

static int SumVals(params int[] vals)//parameter array
{
    return vals.Where(v => v < 10).Sum();
}

您必须将其放在using System.Linq;文件的顶部才能使其正常工作。

于 2013-03-14T17:25:07.817 回答
0

怎么样:

static int SumVals(params int[] vals)//parameter array
    {
        int sum = 0;
        foreach (int val in vals) //for each integer value 
        {
            if (val >=10) continue;
            sum += val; //sum equals sum plus val. returns all values added together
        }
        return sum;
    }
于 2013-03-14T17:24:47.540 回答
0
static int SumVals(params int[] vals)//parameter array
{
     return vals.Where(x => x < 10).Sum();
}
于 2013-03-14T17:26:55.853 回答