Te traemos el hallazgo a este rompecabezas, o por lo menos eso deseamos. Si tienes preguntas puedes escribirlo en el apartado de comentarios, para nosotros será un gusto ayudarte
Solución:
Muy fácil:
var stringArr = dataTable.Rows[0].ItemArray.Select(x => x.ToString()).ToArray();
Donde DataRow.ItemArray
propiedad es un array de objetos que contienen los valores de la fila para cada columna de la tabla de datos.
Quizás algo como esto, asumiendo que hay muchas de estas filas dentro de la tabla de datos y que cada fila es row
:
List MyStringArrays = new List();
foreach( var row in datatable.rows )//or similar
MyStringArrays.Add( new string[]row.Name,row.Address,row.Age.ToString() );
A continuación, puede acceder a uno:
MyStringArrays.ElementAt(0)[1]
Si utiliza linqpadaquí hay un escenario muy simple de su ejemplo:
class Datatable
public List rows get; set;
public Datatable()
rows = new List();
class data
public string Name get; set;
public string Address get; set;
public int Age get; set;
void Main()
var datatable = new Datatable();
var r = new data();
r.Name = "Jim";
r.Address = "USA";
r.Age = 23;
datatable.rows.Add(r);
List MyStringArrays = new List();
foreach( var row in datatable.rows )//or similar
MyStringArrays.Add( new string[]row.Name,row.Address,row.Age.ToString() );
var s = MyStringArrays.ElementAt(0)[1];
Console.Write(s);//"USA"
Si eso es todo lo que quiere hacer, no necesita convertirlo en un array. Puedes acceder a él como:
string myData=yourDataTable.Rows[0][1].ToString();//Gives you USA
Calificaciones y comentarios
Agradecemos que desees añadir valor a nuestro contenido informacional participando con tu experiencia en las explicaciones.