2016-07-13 4 views
-1

私は配列1の特定の位置[0]を配列2の位置[i]と比較しています。それらの値が等しい場合は、 [i]はテキストボックスフィールドに配置されます。forループのfor文がテキストボックスに値を送信していない

問題は、値がテキストボックスに配置されないことです。 値が等しいかどうかを確認しました。ここで

enter image description here

をforループです:

MessageBox.Show(" id [0] is : " + id[0] + "orderID [0] is : " + orderID[0] + " name 0 is : " + name[0]); 

メッセージボックスが表示されます。

for (int i = 0; i < id.Length; i++) 
{ 
    if (orderID[0] == id[i]) 
    { 
     text1.Text = name[i]; 
    } 

} 

EDIT: 宣言:

string[] orderID = new string[aa.Length]; 
     string[] id = new string[bb.Length]; 
     string[] name = new string[bb.Length]; 
+0

に印刷するメッセージボックスをあなたのコードを簡素化することができますか?現在のオペアンプで何が問題なのですか? –

+0

のように思えますが、簡単で、畳み込みにくく、エラーが起こりにくいようです。リスト Plutonix

+0

@ un-lucky - 私は自分の投稿を編集しました。私はいくつかの行を貼り付けるのを忘れた。 – qretsar

答えて

0

私はあなたのコードでそれらを見ていないので、あなたが改行文字id[0]'\n'orderID[0]を持っているように思えるが、メッセージボックスには、それらを示しています。あなたは、配列を埋める文字列をトリミングしたり、このようにそれらを変換すると

orderID = orderID.Select(s => (s ?? "").Trim()).ToArray(); 
id = id.Select(s => (s ?? "").Trim()).ToArray(); 

次に、あなたは、あなたが望むもの

int i = id.IndexOf(orderID[0]);  // this returns -1 if not found 
if (i >= 0) text1.Text = name[i]; 
+0

私はあなたの提案を試みましたが、このエラーが発生します:[PrintScreen](http://prntscr.com/bsyxa0) – qretsar

+0

私はそれが悪いとは思っていませんでした。そして 's.Trim'を'(s ??" ").Trim' – Slai

+0

これは[第1部:](http://prntscr.com/bt8ll7) で動作しますが、[第2部:]ではありません(http://prntscr.com/bt8lsh) コード[screenshot](http://prntscr.com/bt8msm)の長さです。 ファイル1a.dllを2つの配列文字列に分割しています。最初のものは偶数の位置にあり、2番目のものは奇妙なものです。 – qretsar

関連する問題