如何从数据表中提取过滤后的数据并创建字符串
我有一个包含两个字段的数据集 ds:AllowInput int 和 TypeName string。
我想将所有 TypeName 作为逗号分隔的字符串,其中AllowInput == 1
这是我到目前为止所做的。
string keys = string.Join(",", ds.Tables[0].Rows.Cast<DataRow>().
Where(x => x["AllowInput"].ToString() == "1").
ToArray().
Cast<DataRow>().
Select(x => x["TypeName"].ToString()).
ToArray());
这有效。 但代码有必要这么冗长吗?
I have a dataset ds with two fields, AllowInput int and TypeName string.
I wanna get all TypeName as a comma separated string where AllowInput == 1
This is what I have done so far.
string keys = string.Join(",", ds.Tables[0].Rows.Cast<DataRow>().
Where(x => x["AllowInput"].ToString() == "1").
ToArray().
Cast<DataRow>().
Select(x => x["TypeName"].ToString()).
ToArray());
This works.
But does the code needs to be this verbose?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可能可以删除以下两行:
You can probably drop the following 2 lines:
您还可以考虑使用 Linq 中定义的 DataRow 扩展到数据集
类似:
You could also consider using the DataRow extensions defined in Linq to DataSet
Something like: