17

我在(项目数组)中有一些值,DataGridRow我想将所有这些值提取到一个字符串数组中。我怎样才能做到这一点?

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

5 回答 5

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

不需要如上所述的任何 lambda 表达式。

于 2012-04-18T06:54:17.270 回答
17

一种可能性是调用dr.ItemArray;This will get you a object[]. 然后,您必须在使用每个对象string之前将其转换为。

于 2010-09-20T07:03:59.627 回答
10

LINQ 加了一些糖:

var stringArray = dr.ItemArray.Cast<string>().ToArray()
于 2012-06-10T13:19:59.273 回答
6
var rowAsString = string.Join(", ", dr.ItemArray.Select(c => c.ToString()).ToArray());

这应该为您提供一个字符串,其中数据行中的每个项目用逗号分隔。

于 2010-09-20T07:06:48.283 回答
1

这个对我有用:

string[] months = string.Join(",", dataTable.Rows[0].ItemArray).Split(',').ToArray();
于 2018-03-29T19:11:26.633 回答