访问对象时使用字符串代替对象
本文关键字:对象 字符串 访问 | 更新日期: 2023-09-27 18:04:42
首先,我确信我在这里使用了错误的术语,但如果有人对此发表评论,我会纠正它。请温和一点。
因此,我在一个页面上有多个charts
,并且我在每个页面上执行几乎相同的操作。出于演示的目的,让我们把我的charts
称为:chart1
,chart2
。。。,chartn
,其中n在20附近的某个地方。我想做的是将其放入for
循环中,并在一个较小的代码块中执行所有工作,尤其是在以后必须对其进行调整时。
所以我的问题是,我是否可以改变表示对象的n部分(术语?(,以便更有效地完成这项工作。
即:
for(int i = 0; i < 20; i++)
{
String chartName = "chart" + i;
chartName.Series.Clear();
}
我有一种感觉,你不能用字符串来做这件事,所以我想做一个foreach
,但我不知道如何用图表来做。
非常感谢!
您应该将图表放在一个列表中。例如,这会生成一个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
方法的对象上使用这种所谓的集合初始值设定项语法。
你能从这样的图表列表/数组/集合中访问图表吗?
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();
}