如何从c#中的另一个方法访问数组

时间:2014-08-03 08:19:00

标签: c# arrays methods

如何从此示例中的其他方法访问数组?我是c#的新手,如果你能帮助我,我真的很感激。提前谢谢!

 private void button1_Click(object sender, EventArgs e) {
     int[] array1 = new int[5];
     for (int i = 0; i < 5; i++) {
         array1[i] = i;
     }
 }
 private void button2_Click(object sender, EventArgs e) {
     int[] array2 = new int[5];
     for (int i = 0; i < 5; i++) {
         array2[i] = array1[i];
     }
 }

2 个答案:

答案 0 :(得分:1)

将两个数组声明为外部以启用访问。

 int[] array1, array2;
 private void button1_Click(object sender, EventArgs e) {
     array1 = new int[5];
     for (int i = 0; i < 5; i++) {
         array1[i] = i;
     }
 }
 private void button2_Click(object sender, EventArgs e) {
     array2 = new int[5];
     for (int i = 0; i < 5; i++) {
         array2[i] = array1[i];
     }
 }

答案 1 :(得分:1)

正如Jon Skeet在他的评论中所提到的,局部变量根据定义是定义它们的方法的局部变量。如果你想要一些全局可见的东西,你需要把它变成一个实例变量,或者从方法中返回它。

假设只需要显示array1,就足以在外面声明那个。

// Declare the array globally.
int[] array1 = new int[5];
private void button1_Click(object sender, EventArgs e)
{
    // Initially the array inside this method.
    for(int i=0;i<5;i++)
        array1[i]=i;
}

private void button2_Click(object sender, EventArgs e)
{
    int[] array2 = new int[5];
    // Copy from the global array
    for(int i=0;i<5;i++)
    {
        array2[i]=array1[1];
    }

}