将普通项和数组项传递给params函数C#

将普通项和数组项传递给params函数C#,c#,params,datarow,C#,Params,Datarow,我想向表中添加新行,但要同时传递普通变量和数组变量,如下例所示 int value1=1; int value2=2; int[] numbers = new int[] {3, 4, 5}; DataTable1.Rows.Add(value1,value2,numbers) // numbers as single items so the row will contain 5 values (1,2,3,4,5) 那么我应该构建一个新数组并传递它吗?或者有密码咒语可以做到这一点

我想向表中添加新行,但要同时传递普通变量和数组变量,如下例所示

int value1=1;

int value2=2;

int[] numbers = new int[] {3, 4, 5};

DataTable1.Rows.Add(value1,value2,numbers)  // numbers as single items so the row will contain 5 values (1,2,3,4,5) 
那么我应该构建一个新数组并传递它吗?或者有密码咒语可以做到这一点?
谢谢

这个Int数组不一定会出现,但请看一下,它存储的数据与您想要的相同。只需要做一些棘手的事情。

此助手方法将创建一个从1到5的列表:

public IEnumerable<T> GetItemsAndCollectionsAsItems<T>(params object[] itemsAndCollections)
{
    var result = new List<T>();
    foreach (var itemOrCollection in itemsAndCollections)
    {
        var collection = itemOrCollection as IEnumerable<T>;
        if (collection == null)
        {
            result.Add((T)itemOrCollection);
        }
        else
        {
            result.AddRange(collection);
        }
    }
    return result;
}
public IEnumerable GetItemsAndCollectionsAsItems(参数对象[]itemsAndCollections)
{
var result=新列表();
foreach(itemsAndCollections中的var itemOrCollection)
{
var collection=itemOrCollection作为IEnumerable;
if(集合==null)
{
结果。添加((T)项或集合);
}
其他的
{
结果.添加范围(集合);
}
}
返回结果;
}
你这样称呼它:

int value1 = 1;
int value2 = 2;
int[] numbers = new int[] { 3, 4, 5 };

// Returns 1,2,3,4,5
IEnumerable<int> values = GetItemsAndCollectionsAsItems<int>(value1, value2, numbers);
int值1=1;
整数值2=2;
int[]数字=新的int[]{3,4,5};
//返回1,2,3,4,5
IEnumerable values=GetItems和CollectionsAsItems(值1、值2、数字);

构建新阵列有效吗?看来这就是我的出路。