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

C# 如何在C中使用全局数组?,c#,C#,我正在为我在C中的第一个小项目制作一个基于文本的冒险游戏。为了让我的愿景发挥作用,我需要一些可以在任何函数中访问的数组。游戏将只包含一个类。数组需要能够在任何函数中进行更改。您的类应该如下所示: class Something { int[] array; //global array, replace type of course void function1() { array = new int[10]; //let say you declare it he

我正在为我在C中的第一个小项目制作一个基于文本的冒险游戏。为了让我的愿景发挥作用,我需要一些可以在任何函数中访问的数组。游戏将只包含一个类。数组需要能够在任何函数中进行更改。

您的类应该如下所示:

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.
    }
}

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

问题是C实际上不包含像C++一样的全局变量,每个变量都绑定到一个只有真正的全局类的范围。考虑到这一点,您可以通过执行以下类似操作来创建全局变量:

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

但是,通过研究实现此功能的其他方法,您会得到更好的服务,这样就不会弄乱全局名称空间。我建议阅读面向对象的设计,学习为什么C不能真正让您创建全局变量。

在类范围内声明它,然后。。。你真的应该在开始之前读一些基础教程。或者你自己尝试一下,你会学到更多。@GrantWinney-你刚刚赢得了今天的互联网,先生:我读了好几本教程,但它们只涉及常量变量。或涉及多个*.cs文件和类的解决方案。