2016-05-05 12 views
-2

私は、テキストファイル内の多次元配列を持っています検索多次元配列

ご協力いただければ幸いです。

編集:

私は上記の情報を含むCSVファイルを持っています。

は、これまでのところ私が持っている:
1.保存するために3番目の配列を作成し
3を最終配列を格納するための二番目の配列を作成したファイル
2に読み込まれたすべての行を格納する配列を作成された値行を分割して値を2番目の配列に戻します。

これはコードです:

string[] as_FirstArray = System.IO.File.ReadAllLines("PartNumbersFile.csv"); 
string[,] as_SecondArray = new string[4, as_FirstArray.Length]; 
string[] as_ThirdArray; 

string s_Input = Console.ReadLine(); 

for (int i_Count1 = 0; i_Count1 < as_FirstArray.Length; i_Count1++) 
{ 
    as_ThirdArray = as_FirstArray[i_Count1].Split(','); 

    as_SecondArray[0, i_Count1] = as_ThirdArray[0]; 
    as_SecondArray[1, i_Count1] = as_ThirdArray[1]; 
    as_SecondArray[2, i_Count1] = as_ThirdArray[2]; 
    as_SecondArray[3, i_Count1] = as_ThirdArray[3]; 
} 

そして今、私は完全にこだわっています。
1.最初の行から最後の行までのas_SecondArray index [1]のforループを使用します。
2. if文を使用して、userinputがindex [1]にあるかどうかを判断し、そうであればループカウント数を格納します。 (一致するものが見つからない場合は、インデックス[2]を繰り返し、一致するものがなければインデックス[3]を繰り返します)。0123見つかった一致のカウント番号と一致し、対応するエントリを表示します。 (私はこの手順を実行できますが、手順1と2の実行方法がわからないとうまくいかない)

ループターゲットとして特定のインデックスを指定する方法はありません。または、私がすでに持っているループとの関係でループを配置する場所 - 内部であるかどうか。

編集:

は私のポストを編集して誰に感謝し、私は今、私は少し進歩を遂げている多くの時間が経過した後

:-)私の答えを削除しました。私は考え出したかループ特定のインデックスをすると、ユーザ入力は、そのインデックスに発見されたかどうかを確認:

 for (int i_Count2 = 0; i_Count2 < as_SecondArray.GetLength(1); i_Count2++) 
     { 
      for (int i_Count3 = 0; i_Count3 < as_SecondArray.GetLength(0); i_Count3++) 
      { 
       if (as_SecondArray[1, i_Count3].Equals(s_Input)) 
       { 
        s_Found = as_SecondArray[1, i_Count3]; 
       } 
       else { lblOutput.Text = "not found"; } 
      } 
     } 

しかし、私はi_Count3ループ番号を取得する方法で立ち往生しています。

+2

宿題のように聞こえる – ntohl

+0

そして、今はかなりいい感じです!私は最終的に作業コードを持っています!他の人に助けになるかもしれないが、私は間違った場所に(再び)投稿したくない場合は、コードを投稿したいと思います。私は)a)コメントに投稿するb)オリジナルの投稿を編集または追加するc)回答を追加するまたは、d)全く気にしないでください.-D – kiwichick

答えて

0

多次元配列を作成しないでください。代わりに、キーが数値になり、値が文字になるDictionaryまたはHashtableを作成してください。今すぐあなたはO(1)の検索時間で簡単に数を検索し、関連する手紙を見つけることができます。

+0

ありがとうございます。しかし、私は多次元配列を使用する必要があります。 – kiwichick