如何在C#中使用全局数组?

时间:2013-12-31 23:34:43

标签: c#

我正在为C#中的第一个小项目制作一个text-based adventure game。为了让我的愿景发挥作用,我需要一些可以在任何功能中访问的数组。游戏只包含一个类。并且需要能够在任何函数中更改数组。

2 个答案:

答案 0 :(得分:1)

你的班级应该是这样的:

class Something {
    int[] array; //global array, replace type of course
    void function1() {
       array = new int[10]; //let say you declare it here that will be 10 integers in size
    }
    void function2() {
       array[0] = 12; //assing value at index 0 to 12.
    }
}

这样,您可以在两个函数中访问数组。但是,你必须小心全局的东西,因为你可以快速覆盖一些东西。

答案 1 :(得分:0)

问题在于C#并不真正包含像C ++这样的全局变量,每个变量都绑定到一个范围,只有类才真正是全局的。考虑到这一点,您可以通过执行与此类似的操作来创建“全局”变量:

public static class myGlobalArray
{
    public static int[] thisIsMyGlobalArray { get; set; }
}

但是,通过研究实现此方法的其他方法可以更好地服务,以免混乱全局命名空间。我建议阅读面向对象的设计并学习为什么C#不能真正让你创建全局变量。