c#中int数组中所选值的总和

Sum of selected values in an int Array in c#

我正在学习如何使用 C# 进行编程。我对此很陌生。 我的问题是我正在尝试创建一个显示 10 个数字的数组。我希望我的代码检查 10 以下的哪些数字可以被 3 或 5 整除并对总数求和。 我尝试使用 .Sum() 函数,但说 int 不包含 Sum 的定义。我在我的程序中使用了 System.Linq。 有谁知道如何计算这笔款项?

        {

            int[] numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            int sum = 1 + 2;
            

            foreach (int n in numbers)
            {
                if (n % 3 == 0 || n % 5 == 0)
                {
                    int total = n.Sum();
                     Console.WriteLine(total);
                }
                else
                {
                    Console.WriteLine("not divisible");
                }
            }`
   

所以你的问题是你试图在类型为 int 的变量 n 上调用 .Sum()(你在这里定义它:foreach (int n in numbers),并且那不是一个方法。

使用 LINQ,您可以执行如下操作:

var numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
var total = numbers.Where(n => n % 3 == 0 || n % 5 == 0).Sum();

每个人都忘记了数组应该包含 10 个数字,但有些数字值可能大于 10。只应检查小于 10 的数字值。所以正确答案应该是

var numbers = new int[] { 1, 9, 5, 6, 8, 10,4, 15, 25, 3};
var total = numbers.Where( n => (n<10) && ( n % 3 == 0 || n % 5 == 0)).Sum();

如果我理解正确并使用您的代码,这就是您想要的。

        int[] numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        int sum = 1 + 2;
        int total=0;

        foreach (int n in numbers)
        {
            if (n % 3 == 0 || n % 5 == 0)
            {
                int total += n;
            }
            else
            {
                Console.WriteLine("not divisible");
            }
        }
        Console.WriteLine(total);

我将打印移到了 foreach 之后,这样您就可以在完成后得到一个结果