• ベストアンサー

C# もっとスマートな書き方教えてください

Chartコントロールを置き、凡例(Series)を6つ設定しています。 一例ですが、こんなふうに書いてるんですが、ループで回すなどもっと良い書き方無いでしょうか? Series SE1 = new Series(); Series SE2 = new Series(); Series SE3 = new Series(); Series SE4 = new Series(); Series SE5 = new Series(); Series SE6 = new Series(); SE1.ChartType = SeriesChartType.Line; SE2.ChartType = SeriesChartType.Line; SE3.ChartType = SeriesChartType.Line; SE4.ChartType = SeriesChartType.Line; SE5.ChartType = SeriesChartType.Line; SE6.ChartType = SeriesChartType.Line; SE1.MarkerStyle = MarkerStyle.Circle; SE2.MarkerStyle = MarkerStyle.Circle; SE3.MarkerStyle = MarkerStyle.Circle; SE4.MarkerStyle = MarkerStyle.Circle; SE5.MarkerStyle = MarkerStyle.Circle; SE6.MarkerStyle = MarkerStyle.Circle; ・ ・ ・

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率72% (424/583)
回答No.1

インスタンス作成と初期化を関数化すればいいと思います。 Series CreateSeries() { Series SE = new Series(); SE.ChartType = SeriesChartType.Line; SE.MarkerStyle = MarkerStyle.Circle; … return SE; } Series SE1 = CreateSeries(); Series SE2 = CreateSeries(); Series SE3 = CreateSeries(); Series SE4 = CreateSeries(); Series SE5 = CreateSeries(); Series SE6 = CreateSeries(); パターンを見つけて、そこを関数化します。

nandemoii1234
質問者

お礼

ありがとうございます! 数字だけ変えて、くるくる回せないかと安易に考えてました。

Powered by GRATICA

その他の回答 (1)

回答No.2

new Series(); SeriesChartType.Line; MarkerStyle.Circle; の処理をメソッドにし、戻り値として返す。 SE1~SE6をコレクションに格納し、ループで↑の処理を回す。

関連するQ&A