2013-02-10 4 views
0

i M объявляет массив типа int и пытается распечатать все его элементы, но он печатает только последний элемент ..... дайте мне правильный код .... .Как мы можем отображать элементы массива целочисленного типа в C#

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     int[] arr; 
     int range; 

     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void textBox1_TextChanged(object sender, EventArgs e) 
     { 
      range = Convert.ToInt32(textBox1.Text); 
      arr = new int[range]; 


     } 

     private void textBox2_TextChanged(object sender, EventArgs e) 
     { 
      for (int i = 0; i < range; i++) 
      { 
       arr[i] = Convert.ToInt32(textBox2.Text); 
      } 

     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      for(int i =0;i<range;i++) 
      { 
       textBox3.Text = textBox3.Text + arr[i].ToString(); 

      } 
     } 
    } 
} 

ответ

0

Int массивы распространены. Они хранят множество целочисленных значений. И эти значения могут использоваться многими способами. Этот вводный материал охватывает ИНТ массивы, показывая объявления, задания, элементы, контуры и methods.Please см here

этот код простой пример, работа массив Int

using System; 

class Program 
{ 
    static void Main() 
    { 
    int[] arr1 = new int[] { 3, 4, 5 }; // Declare int array 
    int[] arr2 = { 3, 4, 5 };   // Another 
    var arr3 = new int[] { 3, 4, 5 }; // Another 

    int[] arr4 = new int[3];   // Declare int array of zeros 
    arr4[0] = 3; 
    arr4[1] = 4; 
    arr4[2] = 5; 

    if (arr1[0] == arr2[0] && 
     arr1[0] == arr3[0] && 
     arr1[0] == arr4[0]) 
    { 
     Console.WriteLine("First elements are the same"); 
    } 
    } 
} 

using System; 

class Program 
{ 
    static void Main() 
    { 
    // Loop over array of integers. 
    foreach (int id in GetEmployeeIds()) 
    { 
     Console.WriteLine(id); 
    } 
    // Loop over array of integers. 
    int[] employees = GetEmployeeIds(); 
    for (int i = 0; i < employees.Length; i++) 
    { 
     Console.WriteLine(employees[i]); 
    } 
    } 

    /// <summary> 
    /// Returns an array of integers. 
    /// </summary> 
    static int[] GetEmployeeIds() 
    { 
    int[] employees = new int[5]; 
    employees[0] = 1; 
    employees[1] = 3; 
    employees[2] = 5; 
    employees[3] = 7; 
    employees[4] = 8; 
    return employees; 
    } 
} 

Output 

1 
3 
5 
7 
8 
1 
3 
5 
7 
8 
0

Является ли textBox2.Text один номер, или последовательность чисел? Если это, например, 1,2,3, то вам нужно будет Split строку на ,, а затем конвертировать каждую запись в String[], вы вернетесь к целому числу и сохраните их в массиве.

1

Эта строка: arr[i] = Convert.ToInt32(textBox2.Text); будет устанавливать каждый элемент в массиве в значение в текстовое поле2. Это ваше намерение?

0

Я не уверен, что вы пытаетесь сделать.

Похоже, что вы читаете ввод из текстового поля всякий раз, когда он изменяется и воссоздает массив до размера, указанного в этом текстовом поле.

Второе текстовое поле заполняет массив всякий раз, когда он изменяется на то, что второй текстовое поле принимает в качестве входных данных (это вообще не имеет смысла).

button1 отображает массив как строку, что, вероятно, хорошо.

Возможно, вы захотите изменить второе текстовое поле на кнопку, заполняющую массив.

В противном случае переосмыслите свое намерение 2-го текстового поля, это не имеет смысла.

0

Где вы очищаете текстBox3.Text?

Вы копируете в этом текстовом поле. Когда вы это сделаете, и переполнение ввода, вы увидите только последнее добавленное. Возможно, это проблема. Я могу настроить:

private void button1_Click(object sender, EventArgs e) 
{ 
    textBox3.Text = ""; 

    for(int i =0;i<range;i++) 
    { 
     textBox3.Text = textBox3.Text + arr[i].ToString(); 

    } 
}