У меня есть следующее свойство:проверить, если объект имеет что-то или нет
IDictionary<string, object> Values { get; }
Свойство имеет несколько значений, имеющих одну из них ключ «культура».
Я пытался использовать это значение и литье в строку:
String value = (String)data.Values["culture"] ?? defaultCulture;
Это работает, когда элемент имеет какое-то значение, но когда это не я получаю ошибку:
Unable to cast object of type 'System.Web.Mvc.UrlParameter' to type 'System.String'.
BTW , System.Web.Mvc.UrlParameter: http://msdn.microsoft.com/en-us/library/system.web.mvc.urlparameter%28v=vs.108%29.aspx
в отладчик data.Values [ "культура"] имеет значение {}. Я тестировал и:
var test_1 = data.Values["culture"] == null; // returns false
var test_2 = data.Values["culture"].ToString() == null; // returns false
Как проверить, имеются ли данные.
[. IDictionary имеет Содержит метод для проверки, если ключ существует] (http://msdn.microsoft.com/en-us/library/system.collections.idictionary.contains.aspx) – Mike
Да, ключ существует ... но значение {} –