是否可以将 DBNull.Value 作为可选参数传递? 我在 C# 中尝试过
private void CallSP(string param0, string param2 = DBNull.Value)
{
}
它给出了错误。我需要在这个方法中调用一个存储过程,所以我传递了 DBNull.Value。 在 SQL Server 中,'DBNull.Value' 和 'null' 是否被视为相同?我应该传递“null”而不是“DBNull.Value”吗???
最佳答案
DBNull.Value
不是字符串,也不是常量(可选参数值必须是常量)。这样做的方法是默认它为常规的null
,并在添加参数时处理null
:
private void CallSP(string param0, string param2 = null)
{
...
object value = (object)param2 ?? DBNull.Value;
// ^^^ use value in the parameter
...
}
关于c# - DBNull.Value 作为可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9631604/