私はC#が初めてです(C ++から来ました)。WindowsAplication フォームを作成していて、すべてのプログラムで配列 (関数で埋められている) を使用しています。私の質問は、関数と配列をどこに配置すればよいですか? それらを宣言するにはどうすればよいですか?Form1 クラス内で宣言しようとしましたが、他のフォームでは機能しません。
3 に答える
put 配列に public クラスを作成し、その中に関数を作成できます。そして、配列と関数を使用したい場合、そのクラスのオブジェクトを作成する必要があり、オブジェクトを使用して配列と関数にアクセスできます。
静的クラスを作成して、配列と関数を使用したい場合は、オブジェクトを作成せずにそれらを直接使用することもできます。
ありがとう。
この配列は、プログラム内の任意のクラスの public static メンバーとして持つことができます。例えば:
class MyClass {
public static int[] MyArray;
}
ただし、できれば public static プロパティを使用してこのメンバーにアクセスする必要があります。
次に、この変数にアクセスします。
MyClass.MyArray = new int[15];
int myFirstElement = MyClass.MyArray[0];
フォームのプロパティとして設定できるので、次のようにすることができます。
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;
}
上記は、配列を含むフォームがパラメーターとして渡されることを前提としています。したがって、基本的に、最初のフォームは 2 番目のフォームを初期化し、それ自体への参照を渡すため、公開されるすべてのパブリック フィールドにアクセスできますMyForm
。
この配列に 1 回だけデータを入力し、それから読み取るだけの場合は、ヘルパー クラスを使用して、関連するすべてのクラスに配列を公開することができるため、次のようになります。
public static class Helper
{
public static Integer[] MyArray {get; set;}
}
次に、フォームで、Helper.MyArray = ...
入力しInteger[] array = Helper.MyArray
て読み取るだけです。