参数对象 [] 值始终为空

本文关键字:对象 参数 | 更新日期: 2023-09-27 17:57:23

我正在尝试使用参数传递 3 个字符串和一个日期时间对象。但是,无论发送什么,值始终为 null。

public ResponseObject Method(params object[] values)
{
    // values is null
    var var1 = Convert.ToString(values[0]);
    var var2 = Convert.ToString(values[1]);
    var var3 = Convert.ToString(values[2]);
    var effectiveDate = Convert.ToDateTime(values[3]);
}

最终,我正在尝试创建一个可以具有可选参数的方法,但我不知道要发送多少个参数。 有什么建议吗?

编辑:

我对它的工作原理很陌生,但据我所知,代码是通过 http 请求调用的。该请求大致如下:

http://localhost:20559/api/Method?var1=aaa&var2=bbb&var3=ccc&var4=2013-01-30

参数对象 [] 值始终为空

如果您希望public ResponseObject Method(object[] values)工作,请求应如下所示:

../api/Method?values=aaa&values=bbb&values=ccc&values=2013-01-30

这样,您就可以传递包含任意数量的项的数组。

但是,这不是我会做的.
只需选择:

public ResponseObject Method(string var1, string var2, string var3, DateTime? var4 = null)

如果未发送任何参数,则仅为 null.
指定可为 null 的类型可使参数可选。