Как преобразовать DataRow в string Array?

у меня есть некоторые значения в DataGridRow (массив элементов), и я хочу получить все эти значения в массив строк. Как я могу достичь этого?

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

5 ответов


можно назвать dr.ItemArray; Это даст вам object[]. Затем вы должны бросить каждый объект в string прежде чем использовать его.


var rowAsString = string.Join(", ", dataTable.Rows[0].ItemArray); 

нет необходимости в каком-либо лямбда-выражении, как указано выше.


LINQ добавляет сахар:

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

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

Это должно дать вам строку с каждым элементом в строке данных, разделенных запятой.


это сработало для меня:

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