私はこのようなことをしていました:
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コンストラクタ