質問: 変数がたくさんありプログラムが長くなってしまいます。 同じような名前の変数をButtoColor1~ButtonColor20のように 並べく短く表記したいのですが何か方法はないでしょうか。 下のように 変数に別の変数をくっつけて 繰り返しの文で数字をくっつけようと 思ったのですが上手くいきません。 ``` public string ButtonColorStr +b; ``` ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/e82915ca92c9398ab2bc962cea875e1a.png)
回答: 質問に対する直接的な回答は「リスト(`List`)」を使うか「配列」を使うか、となります。 どちらかというと気になったのは、それぞれのボタンの色やテキストの組み合わせを保持したい、ということかなと推察したのですが、`class`(クラス)や`struct`(構造体)についても調べてみてください。 これは、まさに今回のケースのように「なにかしらの設定」をひとつに纏めることができます。 例えば以下のように宣言することができます。 ``` struct ButtonConfig { public string ButtonText; public Color ButtonColor; } // 以下のように生成 ButtonConfig config = new ButtonConfig(); config.ButtonText = "hoge"; config.ButtonColor = Color.red; // 以下のように使う anyButtonText.text = config.ButtonText; anyButton.color = config.ButtonColor; ``` `struct`や`class`などでひとまとまりにしておくと、誤って別のテキストと色を指定してしまうことも防げますし、管理も楽になります。 これと配列やリストを組み合わあせて管理すると、よりスッキリすると思いますよ。