2015-11-27 3 views
1

Кто-нибудь здесь знает о C# Пожалуйста, помогите мне, я не могу найти здесь свою ошибку.InvalidOperationException был необработанным C#

if (weather != "Data not found") 
     { 
      richTextBoxWeatherDetails.Clear(); 

      XmlSerializer result = new XmlSerializer(typeof(Weather.CurrentWeather)); 
      var w = (Weather.CurrentWeather)result.Deserialize(new StringReader(weather)); 

      for (int i = 0; i < w.ItemsElementName.Length; i++) 
      { 
       richTextBoxWeatherDetails.Text += w.ItemsElementName[i] + ": " +w.Items[i] + "\r\n"; 
      } 
     } 
     else 
     { 
      richTextBoxWeatherDetails.Clear(); 
      richTextBoxWeatherDetails.Text = "Data Not Found!"; 
     } 

Это один является своего рода веб-сервиса, я хочу проверить погоду в каком-то городе страны, она должна быть приведены данные не найдены, когда я выбираю город, который не имеет информации, но она всегда ошибки , Он отлично работает, когда я выбираю город, у которого есть информация. Может ли кто-нибудь мне помочь? enter image description here

+0

Как говорится в исключении: 'weather' переменный, кажется, не имеют никакого действительного кода XML в качестве содержания. – Fratyx

+0

В окне местных жителей вы можете увидеть, что оно имеет значение Data Not Found. Проблема заключается в сопоставлении строк. Отправил ответ. Пожалуйста попробуйте. –

ответ

3

Вы тестируете переменной погоды, как:

if(weather != "Data not found") 

C# строковые сравнения чувствительны к регистру по умолчанию. Вам нужно нечувствительное к регистру сравнение.

Изменить его

if(string.Compare(weather, "data not found", System.StringComparison.OrdinalIgnoreCase) != 0) 
+0

Большое вам спасибо, этот работает отлично для меня. –

+0

Добро пожаловать. Буду признателен, если бы вы могли отметить. –

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