我想在某些数组中搜索值,例如假设我有3个阵列:
@Valid
所以我想说我想找到2000年有多少辆汽车,我希望能得到如下结果:
int[] Year = {1930, 2000, 2020};
string[] Months = {"January", "May", "December"};
int[] NumOfCars = {10, 5, 200};
我怎么能做到这一点。 感谢
编辑:
我希望用户在不知道值的情况下搜索该值,例如RESULT: 2000, May, 5
他们把2000年,然后程序显示结果。
Console.WriteLine("Search a Year");
答案 0 :(得分:3)
如果你的结构很简单,那么Kevin的回答就足够了。
但如果你有更复杂的结构,你可以
//Make a model of you data
public class L {
public int Year {get; set;}
public string Months {get; set;}
public int NumOfCars {get; set;}
}
void Main()
{
List<L> myList = new List<L>();
//Load you arrays into the structure
myList.Add(new L { Year = 1930, Months = "January", NumOfCars = 10});
myList.Add(new L { Year = 2000, Months = "May", NumOfCars = 5});
myList.Add(new L { Year = 2030, Months = "December", NumOfCars = 30});
//Use LINQ
var r = myList.Where(x => x.Year == 2000).Select(x => x);
Console.Write(r);
}
答案 1 :(得分:0)
根据您的数组和描述,听起来您想在一个数组中找到值,然后根据您在第一个数组中找到的位置查找其他两个数据中的信息。
public string LookUpValues(string year)
{
for(var ii = 0; ii < Year.Length; ii++)
{
if(Year[ii] == year)
{
return Year[ii] + ", " + Months[ii] + ", " + NumOfCars[ii]
}
}
}
答案 2 :(得分:0)
您可以使用简单的线性搜索进行搜索,如下所示
using System;
class Find
{
public static void Main()
{
int[] Year = {1930, 2000, 2020};
string[] Months = {"January", "May", "December"};
int k;
int[] NumOfCars = {10, 5, 200};
Console.Write("enter the year");
year=int.Parse(Console.ReadLine());
//Console.Write("search the year");
for(int i=0;i<Year.Length-1;i++)
{
if(year==Year[i])
k=i;
}
Console.Write("Result{0},{1],{2}",Year[k],Months[k],NumOfCars[k]);
}
}