SqlParameter со значением по умолчанию, установленным на 0, не работает должным образом

Я делал что-то вроде этого:

SqlParameter param = new SqlParameter("@Param", 0) { SqlDbType = SqlDbType.Int };

private void TestParam(SqlParameter param) {
   string test = param.Value.ToString();  // Getting NullReferenceException here
}

Но я перестаю получать исключение, когда помещаю его так:

SqlParameter param = new SqlParameter("@Param", SqlDbType.Int)  { Value = 0 };

private void TestParam(SqlParameter param) {
    string test = param.Value.ToString();  // Everything OK
}

Кто-нибудь может сказать мне, почему SqlParameter предполагает, что 0 совпадает с null?

Изменить: MSDN Объясняет это здесь: Конструктор SqlParameter

26
задан Meryovi 11 May 2011 в 12:46
поделиться