среда, 25 апреля 2012 г.

Сравнение ValueType-ов

Мне очень стыдно, но я протупил на вопросе, как проверить равенство двух ValueType-ов, приведенных к типу object.
static void Main(string[] args)
{
   object val0 = 5;
   object val1 = 5;
   Console.WriteLine(val0 == val1);
   Console.ReadLine();
}
Понятно, что возвращается false. Мой ответ и правильный подкатом.
Мой ответ:
static void Main(string[] args)
{
   object val0 = 5;
   object val1 = 5;
   Console.WriteLine(ValueTypeCompare(val0, val1));
   Console.ReadLine();
}

private static bool ValueTypeCompare(object val0, object val1)
{
   return val0.GetType() == val1.GetType() && val0.ToString() == val1.ToString();
}
Правильный:
static void Main(string[] args)
{
   object val0 = 5;
   object val1 = 5;
   Console.WriteLine(val0.Equals(val1));
   Console.ReadLine();
}
Вот так.

Комментариев нет:

Отправить комментарий