我正在使用DataTable.Rows.Add()
方法来添加行,我想要更改一个double数组以分隔值以匹配列。如何将数组转换为单独的值在c#
例如table.Rows.Add('Name', 'Id', arrayOfDouble, anotherValue)
其中arrayOfDouble有一个或多个值,每个值都是一列。
我可以在C#中做到这一点吗?我认为这叫扁平化或什么的。
谢谢!
我正在使用DataTable.Rows.Add()
方法来添加行,我想要更改一个double数组以分隔值以匹配列。如何将数组转换为单独的值在c#
例如table.Rows.Add('Name', 'Id', arrayOfDouble, anotherValue)
其中arrayOfDouble有一个或多个值,每个值都是一列。
我可以在C#中做到这一点吗?我认为这叫扁平化或什么的。
谢谢!
不知道这是否是你想要的,但是从我从你的问题明白了,我会做:
//Assuming you have a DataTable like this:
DataTable dt = new DataTable();
dt.Clear();
dt.Columns.Add("Name");
dt.Columns.Add("ID");
dt.Columns.Add("double 1");
dt.Columns.Add("double 2");
dt.Columns.Add("double 3");
dt.Columns.Add("some int");
// And a double array like this:
var double_array = new double[] {2.4,4.3,48.8};
我想有这样的方法:
object[] prepare_row(string s1, string s2, double[] double_array, object some_object) {
// Adding first 2 entries
List<object> temp_list = new List<object> {s1, s2};
// Adding your double arary
foreach (var val in double_array)
{
temp_list.Add(val);
}
// Adding your anotherValue
temp_list.Add(some_object);
return temp_list.ToArray();
}
而且添加你的阵列,如:
dt.Rows.Add(prepare_row("Noctis", "1", double_array, 7));
如果它缺少一个值会发生什么?如果它有一个额外的?我怀疑你可以马上做,你可以用自定义的方法来做... – Noctis
@Noctis数组的长度与我作为列添加的长度相同,所以长度不是问题。是的,我可以逐个添加值,我只是觉得应该有一个更简单的方法。 – leetom