【问题标题】:Where do I put an array and a function that I will use through all my program c#?我在哪里放置一个数组和一个函数,我将在我的所有程序 c# 中使用它们?
【发布时间】:2013-10-24 04:24:34
【问题描述】:

我是 C# 新手(来自 c++)。我正在创建一个 WindowsAplication 表单,并在所有程序中使用一个数组(其中填充了一个函数),我的问题是,我将函数和数组放在哪里?我如何声明它们?我尝试在我的 Form1 类中声明它们,但它不适用于其他表单。

【问题讨论】:

  • 向我们展示您尝试的代码!
  • 你是说你当前已经在类作用域中声明了数组,但是你真的想用这个数组引入全局状态?跨度>

标签: c# arrays


【解决方案1】:

您可以在 put 数组中创建一个公共类并在其中创建函数。在你想使用数组和函数的地方,你必须创建一个该类的对象,并且使用对象你可以访问数组和函数。

你也可以创建一个静态类,而你想使用数组和函数的地方,你可以直接使用它们而不用创建对象。

谢谢。

【讨论】:

    【解决方案2】:

    您可以将此数组作为程序中任何类的公共静态成员。例如:

    class MyClass {
        public static int[] MyArray;
    }
    

    不过,您最好使用公共静态属性来访问该成员。

    然后你访问这个变量:

    MyClass.MyArray = new int[15];
    int myFirstElement = MyClass.MyArray[0];
    

    【讨论】:

      【解决方案3】:

      您可以将其设置为表单的属性,因此您可以执行以下操作:

      public partial class MyForm:Form
      {
          public Integer[] MyArray {get; set;}
          ....
      
      
          public void PopulateArray()
          {
              MyArray = ...;
          }
      }
      

      然后,以其他形式,你会得到类似这样的东西:

      public partial class MyOtherForm:Form
      {
          private MyForm myForm;
      
          public MyOtherForm(MyForm sourceForm)
          {
              this.myForm = sourceForm
          }
      
          ...
      
          Integer[] array = this.myForm.MyArray;
      }
      

      以上假设将包含数组的表单作为参数传递。所以本质上,第一个表单将初始化第二个表单并传递对自身的引用,从而允许您访问MyForm 将公开的任何公共字段。

      如果你只填充这个数组一次,然后只读取它,你可以使用一个 Helper 类将数组公开给所有相关的类,这样你就会有这样的东西:

      public static class Helper
      {
           public static Integer[] MyArray {get; set;}
      }
      

      然后,在您的表单中,您只需执行以下操作:Helper.MyArray = ... 填充,Integer[] array = Helper.MyArray 读取。

      【讨论】:

        猜你喜欢
        • 2012-12-14
        • 1970-01-01
        • 2016-05-19
        • 1970-01-01
        • 1970-01-01
        • 2020-04-01
        • 2021-09-30
        • 2015-02-17
        • 2011-03-04
        相关资源
        最近更新 更多