2014-10-02 4 views
-3

я получаю эту ошибку:ошибка - System.IndexOutOfRangeException: Индекс находился вне границ массива

System.IndexOutOfRangeException: Index was outside the bounds of the array. 

при выполнении этого кода:

foreach(var row in data) 
{ 
    string strAddr = row.ADDRESS1 + "," + row.CITY + "," + row.ST; 

    GoogleMapsDll.GeoResponse myCoordenadas = new GoogleMapsDll.GeoResponse(); 
    myCoordenadas = GoogleMapsDll.GoogleMaps.GetGeoCodedResults(strAddr); 

    string strLat = myCoordenadas.Results[0].Geometry.Location.Lat.ToString(); 
    string strLong = myCoordenadas.Results[0].Geometry.Location.Lng.ToString(); 

    System.Threading.Thread.Sleep(10); 

} 

Я точно не знаю, что это значит или как я могу это исправить. Любой вход был бы оценен.

+1

Вы не получаете никаких «результатов» от вашего вызова API – Habib

+2

Попробуйте отладить. Кроме того, [попробуйте найти] (http://stackoverflow.com/search?q=IndexOutOfRangeException) и, возможно, есть другой вопрос, похожий. – crashmstr

ответ

2

Обычно это индексирование операторов, таких как x [12]. У вас это есть: Results[0]. Поэтому это должно означать, что массив фактически пуст, он даже не имеет нулевого индекса. Кстати, запустите свой код в отладчике и посмотрите, где именно генерируется исключение.

Смежные вопросы