将数组转换为参数列表

本文关键字:参数 列表 转换 数组 | 更新日期: 2023-09-27 18:13:25

DateTime构造函数需要6个参数:

DateTime date1 = new DateTime(2008, 1, 1, 6, 32, 0);

现在我有

int[] dr = new int[]{2008, 1, 1, 6, 32, 0};

如何将该数组"转换"为参数列表-例如DateTime date1 = new DateTime(dr); ?

将数组转换为参数列表

不能这样做,因为构造函数不接受数组;它有六个单独的参数。不过,一种直接的手动拆分数组的方法应该可以工作:

var date1 = new DateTime(dr[0], dr[1], dr[2], dr[3], dr[4], dr[5]);

如果您必须在代码中的多个位置执行此操作,请创建一个辅助方法来隐藏此代码:

static class DateHelper {
    public DateTime MakeFromComponents(int[] dr) {
        return new DateTime(dr[0], dr[1], dr[2], dr[3], dr[4], dr[5]);
    }
}
...
var date1 = DateHelper.MakeFromComponents(dr);

有些事情并没有看起来那么难……

DateTime date1 = new DateTime(dr[0], dr[1], dr[2], dr[3], dr[4], dr[5])

只需将数组中的每一项传递给相应的构造函数参数。

DateTime date1 = new DateTime(dr[0], dr[1], dr[2], dr[3], dr[4], dr[5]);