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

本文关键字:另一个 方法 访问 数组 | 更新日期: 2023-09-27 18:16:13

如何在这个例子中从另一个方法访问数组?我是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];
     }
 }

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

正如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];
    }
}

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

 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];
     }
 }