У меня есть два объекта типа SqlServer.Smo.Column
. Если я пытаюсь сравнить одно свойство какC# Ошибка сравнения объектов
ColumnaOrigen.Properties["DataType"].Value != ColumnaDestino.Properties["DataType"].Value
Он вернется true
даже оба значения numeric
.
В отладчике показан тип object{string}
; то же самое происходит и с другими типами данных, такими как object{bool}
Почему это происходит?
Как я могу сравнить эти значения, чтобы получить правильный ответ?
Вы пытались использовать «Type.Equals»? http://msdn.microsoft.com/en-us/library/3ahwab82%28v=vs.110%29.aspx –
Обычно тесты на равенство выполняются с использованием Equals-метода. Для простых типов данных, таких как 'int',' bool' ... вы также можете использовать '==' или '! ='. Насколько я знаю, для строк мы используем вид пула, поэтому '' 1 "==" 1 "' работает. – HimBromBeere