如何将行放在int []中的特定列上?视觉工作室

时间:2013-11-26 21:52:19

标签: c# arrays linq ado.net

所以,我有一个名为Muestras的表(我用Access创建它)。它只有一列名为“Muestras”。它只有随机数(33,83,42等),总共30个。

我想将所有这些数字放在int[]中。我该怎么办?

OleDbConnection conexionMuestra = new 
OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\Users\Roberto\Documents\Muestra_pv.accdb");

OleDbDataAdapter adaptador = new OleDbDataAdapter("Select * from Muestra", conexionMuestra);

DataTable tablaM = new DataTable();
adaptador.Fill(tablaM);

2 个答案:

答案 0 :(得分:2)

因此,您有DataTable一列,需要int[]

一种方式:

int[] result = tablaM.AsEnumerable()
    .Select(r => r.Field<int>(0)) // or via column-name r.Field<int>("Muestras")
    .ToArray();

如果它实际上是一个字符串列,则需要先解析它:

int[] result = tablaM.AsEnumerable()
    .Select(r => int.Parse(r.Field<string>(0)))  
    .ToArray();

答案 1 :(得分:0)

如果表继续使用foreach循环或while循环增长,我会使用arrayList。

ArrayList al = new ArrayList();

while(tablaM.hasrows)
  {
al.add("data");
}

我的语法可能已关闭,因为我有一段时间没有使用过c#但是应该给你一个想法