Посмотрите на этих ребят:Сравнение строк - объект со строкой
Вывод из моего непосредственного окна в VisualStudio.
"15" == x.Documents.Attributes["key"]
false
x.Documents.Attributes["key"]
"15"
Почему false, когда оба значения равны ????
Атрибуты: Dictionary<string, object>
... ничего особенного.
Я не понимаю. Я думал, что == знает, как обрабатывать строки, даже если с object.ToString().
Что мне не хватает парней? Помогите мне в этом.
Попробуйте делать .ToString() на x.DocumentFile.Attributes [ "ключ"]. вы пытаетесь сравнивать объекты, а не значения. значение объекта не совпадает с строкой. –
Поскольку ваш атрибут является объектом, он выполняет объект Equals, который просто проверяет адреса памяти. Если вы знаете, что это строка, вы можете применить ее к строке перед применением равенства. В качестве альтернативы используйте '.Equals' –
-1, кажутся суровыми! – Liam