将引用添加到列表中

本文关键字:列表 添加 引用 | 更新日期: 2023-09-27 18:20:49

我读过无法将Controls加载到数组或列表中并以这种方式访问的地方,但我很感兴趣。

我的问题如下:我在应用程序中显示了一周的预测数据。预测数据从Wunderground的JSON API中检索并存储到一个对象中,该对象包含显示所需的字段(高/低温度、条件摘要等)。我的应用程序使用必应地图API进行地理编码搜索,从必应地图控件检索到的纬度/经度将传递给Wunderground服务的请求,以检索基于纬度/经度坐标的预测数据。响应包含一个"ForecastDay"对象列表,其中包含每天的预测数据。

每一天都显示在自己的自定义用户控件中,我相应地命名它们:forecastDay1、forecastDay2等等

我很好奇是否有一种方法可以像一样,通过引用将这些控件添加到列表中

forecastDayControls.Add(ref forecastDay1);

因此,我可以迭代这些控件,并使用基于相应日期的信息填充它们,JSON反序列化已经将每个控件放入列表中。我的代码功能很好,但会很好看

for(int i = 0; i < forecastDayControls.Count; i++)
{
    forecastDayControls[0].ForecastDay = forecastDay[0];
}

如果我能把它们放进一个列表中,并以这种方式处理它们,而不是通过1乘1,然后得到丑陋的代码:

forecastDay1 = forecast.forecastDay[0];
forecastDay2 = forecast.forecastDay[1];
forecastDay3 = forecast.forecastDay[2];
forecastDay4 = forecast.forecastDay[3];
forecastDay5 = forecast.forecastDay[4];
forecastDay6 = forecast.forecastDay[5];
forecastDay7 = forecast.forecastDay[6];


谢谢!

将引用添加到列表中

只需执行以下操作:

forecastDayControls.Add(forecastDay1);

您不需要ref关键字,因为forecastDay1class,因此它总是通过引用传递的。