我有一个ChartArea area[]
数组和一个Series series[]
我需要做的是为每个ChartArea
使用不同的Series
。
通常这样做:
Chart Chart0 = new Chart();
ChartArea ChartArea0 = new ChartArea("name");
Chart0.ChartAreas.Add(ChartArea0);
Series Series0 = new Series();
Chart0.Series.Add(Series0);
// link series to area here
Series0.ChartArea = "name";
但在我的情况下,我不能为每个人都有一个字符串名称。它需要是一个数组。我该如何解决这个问题?
答案 0 :(得分:0)
我在评论中提出了一些澄清问题,但如果我对你所表达的情况做出假设,那就是我要做的事情:
var sourceStringArray = new string[] { "ChartArea1Name" };
Chart Chart0 = new Chart();
ChartArea ChartArea0 = new ChartArea(sourceStringArray[0]);
Chart0.ChartAreas.Add(ChartArea0);
Series Series0 = new Series();
Chart0.Series.Add(Series0);
// link series to area here
Series0.ChartArea = sourceStringArray[0];
我会根据对评论的回复编辑我的答案。
修改强>
根据您的评论:
我需要它成为一个数组,因为我需要的ChartAreas数量取决于可变数量的参数
您可能想要创建一个创建ChartArea
个对象的方法。类似的东西:
private List<ChartArea> CreateChartAreas(string[] chartAreaNames)
{
var chartAreaInstances = new List<ChartArea>();
foreach (var chartAreaName in chartAreaNames)
{
var tempChart = new Chart();
var tempChartArea = new ChartArea(chartAreaName);
tempChart.ChartAreas.Add(tempChartArea);
var tempSeries = new Series();
tempChart.Series.Add(tempSeries);
tempSeries.ChartArea = chartAreaName;
}
return chartAreaInstances;
}
然后在主代码中,执行以下操作:
var sourceStringArray = new string[] { "ChartArea1Name", "ChartArea2Name" };
var chartAreas = CreateChartAreas(sourceStringArray);
foreach (var chartArea in chartAreas)
{
// Do something with your chart area instances.
}
免责声明:我没有测试过此代码,因为我不知道您的具体用例是什么。