2

我有一个从存储过程返回的数据集,我将其保存到字符串 LIST 中。

到目前为止,这就是我所拥有的并且它工作正常:

 this.UserOrgs = ds.Tables[0].AsEnumerable()
           .Select(r => r.Field<string>(0))
                            .ToList();

但是,在将返回值放入列表之前,我还需要将返回值中的所有“X”替换为“Y”。

我想我的问题是,我可以使用 LINQ 一次完成所有操作吗?或者我应该先替换数据集中的字符,然后再将其转换为列表?

4

2 回答 2

6

当然,这很容易 - 你甚至不需要另一个电话:

this.UserOrgs = ds.Tables[0].AsEnumerable()
                            .Select(r => r.Field<string>(0).Replace("X", "Y"))
                            .ToList();
于 2013-02-26T20:21:22.820 回答
0
var chars = new[] { "X", "Y" };
EnumerableRowCollection<string> enumerableRowCollection = dataTable.AsEnumerable().Select(r => chars.Aggregate(r.Field<string>(0), (s, s1) => s.Replace(s1, string.Empty)));

上面的答案将替换所有 X 和所有 Y。

至少你放在 char 数组中的任何东西

于 2013-02-26T20:33:28.277 回答