2013-07-02 54 views
0

我讀過的地方,控件無法加載到一個數組或列表中,並以這種方式訪問​​,但我很感興趣。將參考添加到列表

我的問題如下:我在我的應用程序中顯示一週的預測數據。預測數據從Wunderground's JSON API中檢索並存儲到包含顯示所需字段(高/低臨界值,條件摘要等)的對象中。我的應用程序使用Bing地圖API執行地理編碼搜索,並將從Bing地圖控件檢索到的緯度/長度傳遞到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]; 


謝謝!

+0

你甚至試過你在問什麼嗎?應該工作,除非ForecastDay是一個值類型... –

+0

fcdaylist.Add(ref forecastDay1); 「參數1不應與ref關鍵字一起傳遞」 –

+0

請勿嘗試使用您的代碼。引用類型通過引用傳遞。 –

回答

1

只是這樣做:

forecastDayControls.Add(forecastDay1); 

你不需要ref關鍵字,因爲forecastDay1class,因此它總是通過引用傳遞。

+0

啊是的。謝謝你的解釋,謝謝! –