Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数据表到数组的数组_C#_Arrays_Datatable - Fatal编程技术网

C# 数据表到数组的数组

C# 数据表到数组的数组,c#,arrays,datatable,C#,Arrays,Datatable,我有一个由动态行组成的DataTable: no | cid | wait | prio -------------------------------- 1 | 1234 | 0:57 | 0 2 | 54785 | 0:44 | 0 3 | 74125 | 0:22 | 0 我想从中创建一个数组数组,其中包含单个数组中每一行的信息。类似的内容可能会按预期工作: List<object> list = new

我有一个由动态行组成的
DataTable

no   |   cid   | wait  |  prio
--------------------------------
1    |   1234  |  0:57 |    0
2    |   54785 |  0:44 |    0
3    |   74125 |  0:22 |    0

我想从中创建一个数组数组,其中包含单个数组中每一行的信息。

类似的内容可能会按预期工作:

List<object> list = new List<object>();
foreach (object row in DataGridView.Rows)
    {
    List<object> newList = new List<object>();
    list.Add(newList);
    foreach (object columns in row)
    {
        newList.Add(columns.DataBoundItem);
    }
    }
List List=新列表();
foreach(DataGridView.Rows中的对象行)
{
List newList=新列表();
list.Add(newList);
foreach(行中的对象列)
{
添加(columns.DataBoundItem);
}
}

类似的东西可能会按预期工作:

List<object> list = new List<object>();
foreach (object row in DataGridView.Rows)
    {
    List<object> newList = new List<object>();
    list.Add(newList);
    foreach (object columns in row)
    {
        newList.Add(columns.DataBoundItem);
    }
    }
List List=新列表();
foreach(DataGridView.Rows中的对象行)
{
List newList=新列表();
list.Add(newList);
foreach(行中的对象列)
{
添加(columns.DataBoundItem);
}
}

尽管您不需要这个

var arr = dataTable.Rows.Cast<DataRow>().Select(r => r.ItemArray).ToArray();
var arr=dataTable.Rows.Cast().Select(r=>r.ItemArray.ToArray();

尽管您不需要这个

var arr = dataTable.Rows.Cast<DataRow>().Select(r => r.ItemArray).ToArray();
var arr=dataTable.Rows.Cast().Select(r=>r.ItemArray.ToArray();

尽管我对其他用户回答您关于数组的直接问题表示赞赏。我认为你让这件事变得比你需要的更困难了

    yourDataTable.Rows[rowIndex]["no"]
已是包含“否”列中所有值的数组

已是包含“cid”列中所有值的数组

等等。。。等等

您可以通过在行中循环访问数据,或者直接调用一个行来代替上面显示的
rowIndex
,并将列中的值分配给其他变量来访问数据


如果你真的想得到数组(你已经有了),那么忽略这一点,参考其他答案。

尽管我欢迎其他用户回答你关于数组的直接问题。我认为你让这件事变得比你需要的更困难了

    yourDataTable.Rows[rowIndex]["no"]
已是包含“否”列中所有值的数组

已是包含“cid”列中所有值的数组

等等。。。等等

您可以通过在行中循环访问数据,或者直接调用一个行来代替上面显示的
rowIndex
,并将列中的值分配给其他变量来访问数据



如果你真的想得到数组的数组(你已经有了数组),那么忽略这一点,参考其他答案。

没有必要为数据表创建数组。

没有必要为数据表创建数组。

数据表的实现是数组。
Rows
属性是外部数组,然后每行都有一个
ItemArray
,它是一个
对象[]
该行的值。您能为您的语句编写代码吗?因为我在.Net中很新。这是Microsoft SQL Server吗?@MichaelPerrenoud一旦它位于数据表中,数据就来自何处,这无关紧要……您的数据表已经拥有了您想要的一切,创建单独的数组只会给您的过程增加痛苦。我建议研究“从DataTables访问数据”。DataTable的实现是数组的数组。
Rows
属性是外部数组,然后每行都有一个
ItemArray
,它是一个
对象[]
该行的值。您能为您的语句编写代码吗?因为我在.Net中很新。这是Microsoft SQL Server吗?@MichaelPerrenoud一旦它位于数据表中,数据就来自何处,这无关紧要……您的数据表已经拥有了您想要的一切,创建单独的数组只会给您的过程增加痛苦。我建议研究“从数据表访问数据”。尽管我在这里只是假设,OP可能会将此数据发送到另一个程序集(即非托管C或类似的程序集),并且它只支持数组。我考虑过这一点,但也觉得他可能不知道如何直接访问数据,所以我觉得值得一提。@MichaelPerrenoud虽然这是一种可能性,嘿,现在,请不要在评论我的答案时争论;)虽然我只是在这里假设,OP可能会将此数据发送到另一个程序集(即非托管C或类似的程序集),并且它只支持数组。我考虑过这一点,但也觉得他可能不知道如何直接访问数据,所以认为值得一提。@MichaelPerrenoud虽然这是一种可能性,嘿,请不要在评论我的答案时开始争论;)