C# 检查C中的空对象数组#
我的应用程序中有以下代码:C# 检查C中的空对象数组#,c#,C#,我的应用程序中有以下代码: SqlParameter[] sqlCmdParameters=new SqlParameter[0]; 稍后,我将数组传递给一个方法,如下所示: void CallDB( SqlParameter[] sqlCmdParameters) { if (sqlCmdParameters == null && sqlCmdParameters.Length>=0 ) { return;
SqlParameter[] sqlCmdParameters=new SqlParameter[0];
稍后,我将数组传递给一个方法,如下所示:
void CallDB( SqlParameter[] sqlCmdParameters)
{
if (sqlCmdParameters == null && sqlCmdParameters.Length>=0 )
{
return;
}
Console.Writeline(sqlCmdParameters[0].value);
}
由于数组为空,上述代码遇到“对象引用未找到异常”。
我可以在循环中执行元素级的空检查,但我认为这不是一个好方法。
在C#中检查空数组的最佳实践是什么?另外,当根本没有元素时,为什么空数组长度为1?您应该更改if语句
if (sqlCmdParameters == null || sqlCmdParameters.Length == 0 )
{
return;
}
在您的情况下,您永远不能点击返回键,因为参数不能为null且其长度为0
这里是SqlParameters的列表
List<SqlParameter> sqlCmdParameters= new List<SqlParameter>();
SqlParameter param = new SqlParameter();
param.Value = "test";
sqlCmdParameters.Add(param);
您的代码似乎不正确 应该是这样的
SqlParameter[] sqlCmdParameters=new SqlParameter[0];
void CallDB( SqlParameter[] sqlCmdParameters)
{
if (sqlCmdParameters == null || sqlCmdParameters.Length <= 0 )
{
return;
}
Console.Writeline(sqlCmdParameters[0].value);
}
SqlParameter[]sqlCmdParameters=newsqlparameter[0];
void CallDB(SqlParameter[]sqlCmdParameters)
{
如果(sqlCmdParameters==null | | sqlCmdParameters.Length,请检查我的答案并告诉我错误是否消失了。如果您只是通过语句声明数组
SqlParameter[] sqlCmdParameters=new SqlParameter[0];
void CallDB( SqlParameter[] sqlCmdParameters)
{
if (sqlCmdParameters == null || sqlCmdParameters.Length <= 0 )
{
return;
}
Console.Writeline(sqlCmdParameters[0].value);
}