- ベストアンサー
C#の配列の定数の問題について
- C#の配列の定数に関して、VS2013でのコーディングでエラーが発生してしまいます。解決方法を教えてください。
- フォームに設置したボタンのテキストを、あらかじめ定義したテーブルから表示したいですが、思ったような結果になりません。C#ならどのようにコーディングすればよいでしょうか。
- 現在テスト段階であり、2列定義しているにもかかわらず、1列しか表示されません。問題の原因と解決方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>として初めて中身を入れることができるようになるので >そこから中身をセットしないとできないよ >ということですかね? そうです。 ただ#2で書いてる事の半分だけですね。 インスタンスメンバーとクラスメンバーが、それぞれどういったものなのか理解された方がよろしいかと思います。 これはC#に限らずC++,Javaなども同じですし。
その他の回答 (2)
- wormhole
- ベストアンサー率28% (1626/5665)
>エラー内容は「静的でないフィールド、メソッド、またはプロパティ。。。。オブジェクト参照が必要です」というエラーです このメッセージの意味は理解してますか? エラーの原因は、このメッセージに書かれてる通りなんですけど。 roomNo roomX01 roomY01 は、tableクラスのインスタンス(オブジェクト)のメンバ変数(readonlyは読み取り専用変数で定数ではないです)ですから、tableクラスのインスタンスなしにはアクセスできません。 ですのでstaticを付けて静的変数にするかtableクラスのインスタンスを作るかなりしてください。
お礼
返事が遅くなりすみません。 ご回答ありがとうございます Form1_Loadで table tbl; tbl = new table(); として初めて中身を入れることができるようになるので そこから中身をセットしないとできないよ ということですかね?
- wormhole
- ベストアンサー率28% (1626/5665)
>this.buttons[i].Text = table.roomNo[1, i]; <=ここがエラー >this.buttons[i].Top = table.roomX01[i]; <=ここがエラー >this.buttons[i].Left = table.roomY01[i]; <=ここがエラー 単純にエラーと書かれていますけど、エラーメッセージは「エラー」としか書かれていなかったんですか? とりあえず https://msdn.microsoft.com/ja-jp/library/aa645629%28v=vs.71%29.aspx を参照してください。
補足
ご指摘ありがとうございます エラー内容は「静的でないフィールド、メソッド、またはプロパティ。。。。オブジェクト参照が必要です」というエラーです
お礼
インスタンスメンバー、クラスメンバーについて 勉強してみます そうしないと先に進めなそうな感じがするので (^^; ありがとうございました