При просмотре документов MSDN по переопределению Equals одна точка привлекла мое внимание.Зачем бросать объект по сравнению с нулевым?
На примерах this specific page, некоторые нулевые чеки сделаны, и объекты отлиты к типу System.Object при выполнении сравнения:
public override bool Equals(System.Object obj)
{
// If parameter is null return false.
if (obj == null)
{
return false;
}
// If parameter cannot be cast to Point return false.
TwoDPoint p = obj as TwoDPoint;
if ((System.Object)p == null)
{
return false;
}
// Return true if the fields match:
return (x == p.x) && (y == p.y);
}
Есть ли конкретная причина, чтобы использовать этот бросок, или это просто какой-то «бесполезный» код, забытый в этом примере?
, что делает код exmaple безопасным для копирования и вставки. –