Проверка, является ли объект нулевым в C #

Я хотел бы предотвратить дальнейшую обработку на объект, если он имеет значение NULL.

В следующем коде я проверяю, является ли объект нулевым, с помощью одного из:

if (!data.Equals(null))

и

if (data != null)

Однако я получаю NullReferenceException в dataList.Add ( данные) . Если объект был нулевым, он никогда не должен был даже входить в if -выражение!

Таким образом, я спрашиваю, является ли это правильным способом проверки, является ли объект нулевым:

public List<Object> dataList;
public  bool AddData(ref Object data)
    bool success = false;
    try
    {
        // I've also used "if (data != null)" which hasn't worked either
        if (!data.Equals(null))
        {
           //NullReferenceException occurs here ...
           dataList.Add(data);
           success = doOtherStuff(data);
        }
    }
    catch (Exception e)
    {
        throw new Exception(e.ToString());
    }
    return success;
}

Если это правильный способ проверить, является ли объект нулевым, что я делаю не так (как я могу предотвратить дальнейшую обработку объекта, чтобы избежать исключения NullReferenceException)?

196
задан Peter Mortensen 21 April 2016 в 10:21
поделиться