在C#中访问数组元素

时间:2014-11-17 07:13:30

标签: c# arrays

我在编写采用用户输入的整数的代码时遇到问题,并使用该整数访问数组中的元素,并获取用户输入的元素和前后的元素之和。例如,如果用户输入1,我希望元素为0 + 1 + 2。如果这些信息不充分,请告诉我,我会尝试详细说明。

编辑: 要添加更多信息,这是我已经完成的代码,并且没有任何问题。我遇到的问题是提出能够有效完成从用户输入添加索引的任务的代码。另一个例子,如果用户输入8,我希望程序添加索引7 + 8 + 9,数字低于用户输入,用户输入及以上。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Project
{
    class Program
{
    static void Main(string[] args)
    {
        int user;
        int[] numbers = { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18 };
        Console.Write("Enter a number from 1 to 8:");
        user = Convert.ToInt32(Console.ReadLine());
        if (user > 8 || user < 1)
        {
            Console.WriteLine("Please enter a valid number.");
        }
        for(int sum)
    }
}
}

1 个答案:

答案 0 :(得分:2)

嗯,总和将是:

int sum = numbers[user - 1] + numbers[user] + numbers[user+1];

这会回答你的问题吗?


编辑你开始写for (int sum)这真的没有意义。最有效的方法是上面的,但你可以用循环来做:

int sum = 0;
for (int idx = -1; i < 2; i++)
    sum = numbers[user + idx];

然而,这比上述更难理解......


编辑2我不知道你提供的阵列是否是你使用的真实阵列,但在这种情况下,答案更容易:

sum = numbers[user] * 3;

: - )