查找数组中与索引比较的值
本文关键字:比较 索引 数组 查找 | 更新日期: 2023-09-27 18:36:27
我正在自己学习 C#,遇到了一个卡住的问题。我需要根据用户的输入找到数组的值。
string[] arr = new string[6];
arr[0] = "Us";
arr[1] = "Canada";
arr[2] = "Uk";
arr[3] = "China";
arr[4] = "India";
arr[5] = "Korea";
Console.WriteLine("Choose a Country (or -1 to quit):");
现在,如果用户输入3,它将选择中国。
我很困惑如何将用户输入与索引进行比较并获取该值。
我试过了,但似乎不起作用:(
int number = Convert.ToInt32(Console.ReadLine());
int arrayindex = Array.IndexOf(arr,number);
我很困惑如何将用户输入与索引进行比较并获得该值
可以使用索引器获取所具有数组的特定索引处的值。
int number = Convert.ToInt32(Console.ReadLine());
string country = arr[number]; // This will give you China
如果要确保用户提供的数字是有效的数组索引,则可以在使用索引器之前应用条件,即它应为 0 或比数组长度少 1。
if(number > -1 && number < arr.Length)
country = arr[number];
由于您有一个范围,只需检查输入值是否在该范围内。在这种情况下
if (inputvalue >= 0 && inputvalue <= 6)
string country = arr[inputValue] // to get the actual content
else
//invalid input --provided it is not -1
这是一个示例代码,可以执行您想要的操作 - 但是,如果您输入字符串或特殊字符,此代码不会处理错误情况...
using System;
namespace TestConcept
{
class Program
{
static void Main(string[] args)
{
string countryCodeStr;
int contryCodeInt;
string[] arr = new string[6];
arr[0] = "Us";
arr[1] = "Canada";
arr[2] = "Uk";
arr[3] = "China";
arr[4] = "India";
arr[5] = "Korea";
do
{
Console.WriteLine("Choose a Country Code from 0-5 (or -1 to quit):");
countryCodeStr = Console.ReadLine();
contryCodeInt = Convert.ToInt32(countryCodeStr);
switch (contryCodeInt)
{
case 0:
Console.WriteLine("Selected Country :" + arr[0]);
break;
case 1:
Console.WriteLine("Selected Country :" + arr[1]);
break;
case 2:
Console.WriteLine("Selected Country :" + arr[2]);
break;
case 3:
Console.WriteLine("Selected Country :" + arr[3]);
break;
case 4:
Console.WriteLine("Selected Country :" + arr[4]);
break;
case 5:
Console.WriteLine("Selected Country :" + arr[5]);
break;
default:
Console.WriteLine("Invalid selection. Please select -1 to 5");
break;
}
} while (contryCodeInt != -1);
if (contryCodeInt == -1)
{
Environment.Exit(0);
}
}
}
}