C# 如何向SqlParameter[]集合添加新参数?

C# 如何向SqlParameter[]集合添加新参数?,c#,collections,ienumerable,C#,Collections,Ienumerable,我想用类似的方法: using (DataSet ds = new DataSet()) { SqlParameter[] dbParams = new SqlParameter[] { new SqlParameter("@PromptID", promptID) }; if (scenarioID != 0) dbParams.Concat(new SqlParameter("@

我想用类似的方法:

using (DataSet ds = new DataSet())
{
    SqlParameter[] dbParams = new SqlParameter[]
    {                        
        new SqlParameter("@PromptID", promptID)
    };

    if (scenarioID != 0)
        dbParams.Concat(new SqlParameter("@ScenarioID", scenarioID));
    //OR
    if (scenarioID != 0)
        dbParams.Add(new SqlParameter("@ScenarioID", scenarioID));
    }
}

我已搜索添加IEnumarable集合,但它无法解决我的问题。我应该创建两个集合并对它们进行处理吗?我想一定有一个简单的方法来添加项目。有什么建议吗?

只需使用列表即可:

var parameters = new List<SqlParameter>
{
    new SqlParameter("@PromptID", promptID)
};
if (scenarioID != 0)
{
    parameters.Add(new SqlParameter("@ScenarioID", scenarioID));
}
var参数=新列表
{
新的SqlParameter(“@prompId”,prompId),
};

您应该使用列表而不是数组

   List<SqlParameter> dbParams = new List<SqlParameter>(); 

如果您知道最大项数(instances of
SQLParameter
type),那么下面的方法是理想的。除此之外,您还可以使用
List
方法,由同行简要介绍

 var dbParams = new SqlParameter[2];
 dbParams.SetValue(new SqlParameter("@PromptID", promptID),0);
 dbParams.SetValue(new SqlParameter("@ScenarioID", scenarioID), scenarioID != 0 ? 1 : 0);
其他建议:

SqlParameter[] sqlPar = new SqlParameter[1];
sqlPar[0] = new SqlParameter("@System", "Teste");

顺便说一句,现在还不清楚为什么会有这个
DataSet
。使用List dbParams,然后就可以执行dbParams.Add(new-SqlParemeter(“@PromptID”,PromptID)@Ehsanaullah-通常建议您在回答中列出问题的答案。评论不是永久性的,可能会被删除,因此它们通常用于有关问题或相关信息的问题。
   dbParams.Add(new SqlParameter("@PromptID", promptID);
 var dbParams = new SqlParameter[2];
 dbParams.SetValue(new SqlParameter("@PromptID", promptID),0);
 dbParams.SetValue(new SqlParameter("@ScenarioID", scenarioID), scenarioID != 0 ? 1 : 0);
SqlParameter[] sqlPar = new SqlParameter[1];
sqlPar[0] = new SqlParameter("@System", "Teste");