C# LINQ-转换为字符串列表并替换字符
我有一个从存储过程返回的数据集,该存储过程保存到字符串列表中 到目前为止,这就是我所拥有的,并且它工作正常:C# LINQ-转换为字符串列表并替换字符,c#,linq,C#,Linq,我有一个从存储过程返回的数据集,该存储过程保存到字符串列表中 到目前为止,这就是我所拥有的,并且它工作正常: this.UserOrgs = ds.Tables[0].AsEnumerable() .Select(r => r.Field<string>(0)) .ToList(); this.UserOrgs=ds.Tables[0].AsEnumerable() .选择(r=>r.字段(0))
this.UserOrgs = ds.Tables[0].AsEnumerable()
.Select(r => r.Field<string>(0))
.ToList();
this.UserOrgs=ds.Tables[0].AsEnumerable()
.选择(r=>r.字段(0))
.ToList();
但是,在将返回值放入列表之前,我还需要将返回值中的所有“X”替换为“Y”
我想我的问题是,我可以使用LINQ一次性完成所有任务吗?或者,在将数据集转换为列表之前,是否应该替换数据集中的字符?当然,这样做很容易-您甚至不需要再次调用:
this.UserOrgs = ds.Tables[0].AsEnumerable()
.Select(r => r.Field<string>(0).Replace("X", "Y"))
.ToList();
this.UserOrgs=ds.Tables[0].AsEnumerable()
.选择(r=>r.Field(0)。替换(“X”,“Y”))
.ToList();
var chars=new[]{“X”,“Y”};
EnumerablerRowCollection EnumerablerRowCollection=dataTable.AsEnumerable().Select(r=>chars.Aggregate(r.Field(0),(s,s1)=>s.Replace(s1,string.Empty));
上述答案将替换所有X和Y
至少您在字符数组中输入的任何内容,谢谢!我可以在结尾处修剪我现在拥有的YYYY吗。结果(2345-yyyy,我想显示为:2345-Y,如果我使用.TrimEnd(“Y”),它去掉所有的“Y”,我只有2345个-
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)));