C#で、Colorクラスを要素に持つListをまとめて初期化したい場合があります。このような場合、下記のコードで宣言と初期化を一度に行えます。
Colorクラスはコンストラクタで色指定できないので、FromArgb()などのメソッドを使ってインスタンス生成します。
using System.Drawing; public class SomeClass { public List<Color> colorList = new List<Color>{ Color.FromArgb(255, 255,255,0), Color.Red, Color.Blue, Color.Yellow }; } |
定数にしたい場合は、constをつけておけばOKです。
public List<Color> ... ↓ public const List<Color> ... |
Listで無く配列を初期化したい時は、以下のような感じです。
using System.Drawing; // 一旦Colorの配列を作る Color[] colorArray = { Color.Red, Color.Blue, Color.FromArgb(255,255,128,128),}; |
また、ちょっと話がずれますが、あらかじめ用意されたColorの配列を、Listに一括代入したい時はAddRange()を使用します。
using System.Drawing; // 一旦Colorの配列を作る Color[] colorArray = { Color.Red, Color.Blue, Color.FromArgb(255,255,128,128),}; // List<Color>を、あらかじめ定義されたColorの配列で初期化 List<Color> colorList = new List<Color>(); colorList.AddRange(colorArray); |
上記のコードをもう少し端折ると、以下のような感じになります。
// List<Color>を、ワークの配列変数を用意せず初期化 List<Color> colorList2 = new List<Color>(); colorList2.AddRange( new Color[] { Color.Red, Color.Blue, }); |
基礎からきちんと知りたい人の C#プログラミング入門
関連記事
コメントを残す