c#控制台从用户输入获取带有索引的数组值

时间:2018-11-15 16:22:34

标签: c# console-application

我正在学习编程课。用户选择索引时是否可以输出数组值?虽然不多,但这是到目前为止的代码:

double[] cisTuition = new double[] { 0.00, 1.00, 1.50, 2.00, 2.50 };
Console.WriteLine("Please choose the semester");

6 个答案:

答案 0 :(得分:2)

您需要使用数组的索引进行访问

Console.WriteLine(cisTuition[index]);

例如,如果您需要从用户输入的输入值中获取索引,

int input = int.Parse(Console.ReadLine());
Console.WriteLine("value is: " + cisTuition[input]);

答案 1 :(得分:2)

是的,您可以通过它们的索引来获取cisTuition数组的值:检查下面的代码段

double[] cisTuition = new double[] { 0.00, 1.00, 1.50, 2.00, 2.50 };
Console.WriteLine("Please choose the semester");

int index = int.Parse(Console.ReadLine());
Console.WriteLine("value is: " + cisTuition[index]);

当然,您可以改进该代码段,以验证索引是否在数组的边界内,但这是基本思想。

答案 2 :(得分:1)

是的,您可以在特定索引位置处在内部和数组中获得一个值,如下所示:

double[] cisTuition = new double[] { 0.00, 1.00, 1.50, 2.00, 2.50 };
Console.WriteLine(cisTuition[0]);

输出:

0.00

然后,当您请求输入提供索引时,我将使用Console.ReadLine()获取用户选择并将其记录到变量(index)中。

最后,我将变量与cisTuition[index]一起用作索引。

请参阅下面的完整代码:

double[] cisTuition = new double[] { 0.00, 1.00, 1.50, 2.00, 2.50 };
Console.WriteLine("Enter input:"); // Prompt the question
string index = Console.ReadLine(); //  Record the input
Console.WriteLine(cisTuition[index]); // Show the array value of this index

答案 3 :(得分:1)

    bool Keeplooping = true; //Boolean to tell whether the loops continues
    while (Keeplooping == true) //while the user hasn't chosen a valid index
    {
    Console.WriteLine("Select an index");
    try //if this fails then the input is not an int or too big/small
    {
    int index = int.Parse(Console.ReadLine()); //receive input
    Console.WriteLine(cisTuition[index].ToString()); //output the value
    Keeplooping = false; //loop will end after this iteration
    }
    catch //alerts user that the input is bad and tries again
    {
        Console.WriteLine("Please select a valid index");
    }
    }

这应该可以解决问题(我已经确定进行过测试)

答案 4 :(得分:0)

首先,您需要用户输入,得到此信息后,您可以进行适当的检查,例如NaN或它是否在数组索引之外。此后,应该很容易找出数组中的索引,然后再打印它。我没有在C#中进行太多编程,但是我想它看起来可能像:

double [] cisTuition =新的double [] {0.00,1.00,1.50,2.00,2.50}; Console.WriteLine(“请选择学期”);

var UserInput = getUserInput();

if(UserInput == NaN || UserInput> cisTuition.length)

print(cisTuition [UserInput])

我知道这绝对不是正确的语法,但是逻辑应该起作用。 希望能帮助到你。

答案 5 :(得分:0)

我认为这里遗漏的是如何读取一个值,如果可能的话将其转换为int,然后将其用作对数组索引的引用。

因此,如果是这种情况,您希望将类似于此的内容添加到代码末尾:

string strUserInput = Console.ReadLine();
int? iConverted = null;
int.TryParse(strUserInput, out iConverted);
if ((iConverted != null) && (iConverted <= (cisTuition.Length - 1)) )
{
  Console.WriteLine(cisTuition[iConverted]);
}
else
{
  Console.WriteLine("Invalid value or index of the array");
}

完整说明:

ReadLine()提取用户提供的值作为数组的索引

iConverted实例化(作为null)开始,要允许整数也为null,我们也必须使用?

我们将TryParse strUserInput转换为整数,如果成功,则将其转储到iConverted中(如果失败,则iConverted仍为空)

最后,我们打印请求的索引数组,或通知用户其索引超出范围或未正确解析。