2016-05-10 4 views
1

私はちょうど配列から始めました、そしてそれは素晴らしいです!どのように私の配列は私のインデックスを印刷しませんか? C#.NET

小物はひとつありますが、どのように私のループがインデックス全体を印刷するのではなく、インデックスの値を1つずつ印刷するのではなく、最後のものだけを印刷しますか?ここで

enter image description here

あなたが画像を見ていくつかの問題が発生している場合は、私のコードです!

namespace Arrays 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 
     int[] numbers = new int[5]; 


     private void Form1_Load(object sender, EventArgs e) 
     { 
      numbers[0] = 12; 
      numbers[1] = 10; 
      numbers[2] = 25; 
      numbers[3] = 10; 
      numbers[4] = 15; 
     } 


     private void button1_Click(object sender, EventArgs e) 

     { 
      for (int i = 0; i < numbers.Length; i++) 

      displayArrays.Text = numbers[i].ToString(); 
     } 

    } 
} 

答えて

2

毎回値を割り当てるだけなので、あなたは、インデックスをしたい場合

displayArrays.Text += numbers[i].ToString() + ", "; // But need to worry about trailling separator. 

、その後、iはあなたの現在のインデックスを表します。

displayArrays.Text = numbers[i].ToString(); 

displayArrays.Text += numbers[i].ToString(); 

したり、セパレータが必要な場合は変更します。 numbers[i]は、インデックスiarrayの値を表します。

+0

大丈夫です!だから私が本質的にやっていることは、(+ =)配列からインデックスに値を追加することですか? –

+0

@Alexander。 Matt 'displayArrays.Text'は別のフィールドです(またはインデックスを呼び出すとき)。単純な '='を使用すると、新しい値が割り当てられます。 '+ ='は 'displayArrays.Text = displayArrays.Text + numbers [i] .ToString()+"、 ";'に変換されます。つまり、現在の値を更新します。 –

+0

ああ、そんなに意味をなさない!ありがとうございました! @DovydasSopa –

0

for (int i = 0; i < numbers.Length; i++) 
     displayArrays.Text += ", " + numbers[i].ToString(); 
1

ほとんどは他の回答にこのコードを試してみてください、あなたはこの1つのライナーでビットを簡素化することができ、何が必要答えました。

を削除します。forループ完全にを削除してください。

displayArrays.Text = string.Join(",", numbers); 
+0

よかったよ。後で区切り文字を心配する必要はありません。 –

+0

@HariPrasad実際に26.000行のテキストをループしています。後でforループが必要ですか? –

+0

あなたの場合によっては、数字だけを表示したい場合、ループは必要ありません。さらに、他のロジックを実行している場合は、完全なコードが表示されない限り、コメントするのが難しいかもしれません。 –

関連する問題