2016-03-31 15 views
-2

いくつかの配列内の値を検索したいと思います。私は3つの配列を持って言うことができます:C#配列内の値を検索

どう
RESULT: 2000, May, 5 

int[] Year = {1930, 2000, 2020}; 

string[] Months = {"January", "May", "December"}; 

int[] NumOfCars = {10, 5, 200}; 

は、だから私は2000年にありますどのように多くの車を見つけるしたいと言うことができます、私のような結果を得ることができるようにしたいです私はこれを行うことができるだろう。 おかげ

編集:

を、私は、ユーザーがそれらの値を知らなくても値を検索したい場合は、例えばのためにConsole.WriteLine("Search a Year");を入力し、2000年を入力して、結果を表示します。あなたの配列や、あなたの説明に基づいて

RESULT: 2000, May, 5 

答えて

0

使用すると、1つの配列内の値を検索し、あなたが最初に見つかった位置に基づいて、他の二つの情報を検索したいように、それが聞こえます。

public string LookUpValues(string year) 
{ 

    for(var ii = 0; ii < Year.Length; ii++) 
    { 
     if(Year[ii] == year) 
     { 
     return Year[ii] + ", " + Months[ii] + ", " + NumOfCars[ii] 

     } 
    } 
} 
+0

こんにちはは、次のように、単純な線形検索で検索を行うことができます、はい私は1つのアレイで値を見つけたいです情報を検索しますが、ユーザーは値を知らずに値を検索する必要があります。たとえば、 Console.WriteLine( "Search a Year");彼らは2000年を入れ、プログラムは結果を表示します。 – 1111

3

構造がシンプルな場合は、ケビンの答えで十分です。

しかし、あなたはより複雑な構造を持っている場合は、可能性が

//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); 
} 
+0

これは最高の答えだと思います。それらの配列が同じことについて話している場合、クラスを作成し、それをリストに入れておくことが、最も組織的なアイデアのようです。 – Octanic

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]); 

    } 

}