首先我确定我在这里使用了错误的术语,但是如果有人评论它我会修复它。请温柔。
所以我在页面上有多个charts
,我在每个页面上执行几乎相同的操作。出于演示目的,我们可以致电我的charts
,例如:chart1
,chart2
,...,chartn
其中 n 位于附近的某处20.我想要做的是将它放在for
循环中,并在一小段代码中执行所有工作,特别是如果我以后必须调整它。
所以我的问题是我是否可以改变代表对象的 n 部分(术语?),这样我就可以更有效地完成这项工作。
即:
for(int i = 0; i < 20; i++)
{
String chartName = "chart" + i;
chartName.Series.Clear();
}
我觉得你不能用字符串做这个,所以我正在考虑做一个foreach
,但我不知道如何用图表做这个。
非常感谢!
答案 0 :(得分:4)
您应该将图表放在列表中。例如,这会生成Chart
个对象的列表(或任何图表类型):
List<Chart> charts = new List<Chart>();
然后你可以添加图表:
charts.Add(new Chart());
并使用它们:
for (int i = 0; i < charts.Count; i++)
{
charts[i].Series.Clear();
}
当然,您可以将charts
变量设为您班级中的一个字段。
您可以直接初始化列表(或数组,或字典 1 ),如下所示:
List<Chart> charts = new List<Charts>()
{
new Chart(),
new Chart(),
existingChart1,
existingChart2
};
或者,如果使用该语法创建新的对象数组......
Chart[] arrayOfCharts = new []
{
new Chart(),
new Chart(),
existingChart1,
existingChart2
};
...然后您可以使用AddRange
一次添加多个对象:
charts.AddRange(arrayOfCharts);
1 )您可以在具有公共Add
方法的任何对象上使用此所谓的集合初始化程序语法。
答案 1 :(得分:0)
您可以从列表/数组/图表集合中访问您的图表吗?
for (int i = 0; i <= 19; i++) {
String chartName = "chart" + i;
Charts(chartName).Series.Clear();
}
或者
for (int i = 0; i <= 19; i++) {
String chartName = "chart" + i;
Charts(i).Series.Clear();
}