web-dev-qa-db-fra.com

Comment puis-je convertir DataRow en chaîne Array?

J'ai quelques valeurs dans un DataGridRow (item Array) et je veux extraire toutes ces valeurs dans un tableau de chaînes. Comment puis-je atteindre cet objectif?

DataGridRow row = (DataGridRow)Lst.ItemContainerGenerator.ContainerFromIndex(k);
            DataRowView Drv = (DataRowView)row.Item;
            DataRow dr = (DataRow)Drv.Row;
13
Shashank

Une possibilité consiste à appeler dr.ItemArray; Cela vous donnera un object[]. Ensuite, vous devez convertir chaque objet en string avant de l'utiliser.

13
Øyvind Bråthen
var rowAsString = string.Join(", ", dataTable.Rows[0].ItemArray); 

Pas besoin d'une expression lambda comme ci-dessus.

24
Jiss
var rowAsString = string.Join(", ", dr.ItemArray.Select(c => c.ToString()).ToArray());

Cela devrait vous donner une chaîne avec chaque élément de votre ligne de données séparés par une virgule.

6
Rune Grimstad

LINQ ajoute du sucre:

var stringArray = dr.ItemArray.Cast<string>().ToArray()
6
cyrotello

Celui-ci a fonctionné pour moi:

string[] months = string.Join(",", dataTable.Rows[0].ItemArray).Split(',').ToArray();
0
olleh