我需要一个DataRow [] drs第一列的字符串数组。我试过下面的一行代码,但它没有用。
DataTable中的数据类型是Int,我需要将它转换为字符串数组。
我错过了一些吗?请建议我。
DataRow[] drs = ds.Tables[1].Select();
抱歉,我需要一个字符串数组的字符串值。
string[] drsArray = drs
.AsEnumerable()
.Select(row => row.Field<string>("role_id")) //Here getting the exception
我已经尝试了@Daniel的逻辑,现在正在工作。现在是否有可能减少一些代码行。
string[] drsArray = (drs
.AsEnumerable()
.Select(row => row.Field<int>("role_id"))
.Select(i => i.ToString()).ToArray());
答案 0 :(得分:5)
改为调用ToString
:
drs[0].ItemArray.Select(i => i.ToString()).ToArray();
答案 1 :(得分:1)
在你的情况下,老式的方式应该足够了。 (至少,在我看来,它更具可读性)
List<string> firstCol = new List<string>()
foreach(DataRow row in drs)
firstCol.Add(row[0].ToString());
当然,List可以看作是一个没有太多问题的数组
foreach(string s in firstCol)
Console.WriteLine(s));