クラスの中にあるstring配列を初期化する方法がわかりません。
下記のとおり、プログラムを組みましたが、1)と2)の部分にエラーが発生します。
初期化が間違っているのでしょうか?又は、クラスの記述が間違っているのでしょうか?
ご回答宜しくお願いいたします。
C#
1public partial class Form1 : Form 2{ 3 public Form1() 4 { 5 InitializeComponent(); 6 } 7 8 private void Form1_Load(object sender, EventArgs e) 9 { 10 for( int i=0 ; i < mem_com.Length ; ++i) { 11 richTextBox1.Text += mem_com[i].aflag +" " ; 12 richTextBox1.Text += mem_com[i].aint +" " ; 13 richTextBox1.Text += mem_com[i].astr +" " ; 14 richTextBox1.Text += mem_com[i].astr_ar[2] +"\n" ; //A222とB222を出力して欲しい 15 } 16 } 17 18 public mem_class[] mem_com = new mem_class[] 19 { 20 new mem_class(false,123,"a111",ss0), // 1)ss0がエラーになります 21 new mem_class(true, 456,"b222",ss1) // 2)ss1がエラーになります 22 } ; 23 24 string[] ss0 = new string[] {"A000","A111","A222"} ; // 3) 25 string[] ss1 = new string[] {"B000","B111","B222","B333"} ; // 4) 26 27} 28 29public class mem_class 30{ 31 public bool aflag { get ; set ; } 32 public int aint { get ; set ; } 33 public string astr { get ; set ; } 34 public string[] astr_ar { get ; set ; } 35 36 public mem_class(bool cl_aflag,int cl_aint,string cl_astr,string[] cl_astr_ar) 37 { 38 this.aflag = cl_aflag; 39 this.aint = cl_aint; 40 this.astr = cl_astr; 41 this.astr_ar = cl_astr_ar ; 42 } 43}
環境
Windows7、Visual Studio 2015、C#
エラー
CS0236 フィールド初期化子は、静的でないフィールド、メソッド、またはプロパティ 'Form1.ss0' を参照できません
行った事
3) 4)の部分を下記のように変更しましたが、エラー解除なし。
string[] ss0 = {"A000","A111","A222"} ;
string[] ss1 = {"B000","B111","B222","B333"} ;
以上 ご存知の方、ご回答宜しくお願いいたします。
コード部分を```で囲って字下げしてください。

回答1件
あなたの回答
tips
プレビュー