Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ-转换为字符串列表并替换字符_C#_Linq - Fatal编程技术网

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)));