C# 如何将DataRow转换为字符串数组?
我在C# 如何将DataRow转换为字符串数组?,c#,datarow,C#,Datarow,我在DataGridRow(项数组)中有一些值,我想将所有这些值提取到一个字符串数组中。我怎样才能做到这一点 DataGridRow row = (DataGridRow)Lst.ItemContainerGenerator.ContainerFromIndex(k); DataRowView Drv = (DataRowView)row.Item; DataRow dr = (DataRow)Drv.Row; 一种可能是调用dr.ItemArr
DataGridRow
(项数组)中有一些值,我想将所有这些值提取到一个字符串数组中。我怎样才能做到这一点
DataGridRow row = (DataGridRow)Lst.ItemContainerGenerator.ContainerFromIndex(k);
DataRowView Drv = (DataRowView)row.Item;
DataRow dr = (DataRow)Drv.Row;
一种可能是调用
dr.ItemArray代码>这将获得一个对象[]
。然后,在使用每个对象之前,必须将其强制转换为string
var rowAsString = string.Join(", ", dr.ItemArray.Select(c => c.ToString()).ToArray());
这将为您提供一个字符串,其中数据行中的每个项都用逗号分隔
var rowAsString = string.Join(", ", dataTable.Rows[0].ItemArray);
不需要上述任何lambda表达式。LINQ添加了一些糖:
var stringArray = dr.ItemArray.Cast<string>().ToArray()
var stringArray=dr.ItemArray.Cast().ToArray()
这个对我很有用:
string[] months = string.Join(",", dataTable.Rows[0].ItemArray).Split(',').ToArray();
您的数据行的内容是什么?答案取决于此。唯一可以接受的答案。如果项的和不是字符串类型,其他答案将抛出错误。这是如何工作的?!数据行(dr)没有Select(当然也没有Selct;-):-)Oops!答案中有两处拼写错误。首先,我忘了访问ItemArray,第二个方法名当然应该是Select;-)除非任何值包含逗号。。。