Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / как происходит сравнение объектов? / 3 сообщений из 3, страница 1 из 1
17.05.2006, 18:43
    #33733732
puhh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как происходит сравнение объектов?
Подскажите, как происходит сравнение объектов?
Вот такой примерчик, от MS, у меня не работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
private bool ColumnEqual(object A, object B)
{
 //Compares two values to see if they are equal. Also compares DBNULL.Value.
						
	if ( A == DBNull.Value && B == DBNull.Value ) //  both are DBNull.Value
		return true; 
	if ( A == DBNull.Value || B == DBNull.Value ) //  only one is DBNull.Value
		return false; 
	return ( A.Equals(B) );  // value type standard comparison
}

а именно, A.Equals(B) возвращает false. Хотя значения объектов одинаковые.
И, например,
Код: plaintext
1.
2.
3.
if (Convert.ToString(A) == Convert.ToString(B)) 
return true
else return false
возвращает правильный результат. (true в моем случае)

Спасибо.
...
Рейтинг: 0 / 0
17.05.2006, 19:03
    #33733791
german23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как происходит сравнение объектов?
имхо дело токое:
object - храниццо в куче
string - в стеке

A.Equals(B) - сравнивает не значения, а ссылки на объекты
Convert.ToString(A) == Convert.ToString(B) - а здесь сравниваюцо именно значения объектов

есле йа конечно нечево не попутол, то дело в этам.
...
Рейтинг: 0 / 0
22.05.2006, 09:39
    #33741664
Valery Shiskin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как происходит сравнение объектов?
При сравнении объектов операция == дает true, если сравниваемые ссылки ссылаются на один и тот же объект. (Конечно, в спецификации по C# правила гораздо сложнее, учитывающие перегрузку операторов, преобразоа=вание типов и .т.д). Исключение, например, string - для этого типа,
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / как происходит сравнение объектов? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]