Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.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/3/arrays/12.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# 替换字符串数组的每个元素中的子字符串?_C#_Arrays_Substring - Fatal编程技术网

C# 替换字符串数组的每个元素中的子字符串?

C# 替换字符串数组的每个元素中的子字符串?,c#,arrays,substring,C#,Arrays,Substring,嘿,我有一个字符串数组,我想替换每个元素中的某个子字符串。除了显式地迭代数组之外,还有什么简单的方法可以做到这一点吗 谢谢:-您可以隐式迭代数组 可以隐式地迭代数组 归根结底,你做的任何事情都会做到这一点。简单的for循环应该可以。有许多涉及lambda的解决方案,例如Array.ConvertAll/Enumerable.Select,但不需要: for(int i = 0 ; i < arr.Length ; i++) arr[i] = arr[i].Replace("foo","ba

嘿,我有一个字符串数组,我想替换每个元素中的某个子字符串。除了显式地迭代数组之外,还有什么简单的方法可以做到这一点吗


谢谢:-

您可以隐式迭代数组


可以隐式地迭代数组


归根结底,你做的任何事情都会做到这一点。简单的for循环应该可以。有许多涉及lambda的解决方案,例如Array.ConvertAll/Enumerable.Select,但不需要:

for(int i = 0 ; i < arr.Length ; i++) arr[i] = arr[i].Replace("foo","bar");

for循环对阵列的处理效率最高;而且foreach不是一个选项,因为它改变了迭代器变量

,最终,您所做的任何事情都会做到这一点。简单的for循环应该可以。有许多涉及lambda的解决方案,例如Array.ConvertAll/Enumerable.Select,但不需要:

for(int i = 0 ; i < arr.Length ; i++) arr[i] = arr[i].Replace("foo","bar");

for循环对阵列的处理效率最高;而且foreach不是一个选项,因为它严格地改变了迭代器变量

这不会替换数组中的元素,而是用数组中被替换的元素创建一个新数组。如果在其他地方引用了原始arrayOfStrings,例如arrayOfStrings是方法中的in参数,则这会产生差异。@grady不能在arrayOfStrings{s=s.Replacefoo,bar;}中使用foreachvar s,因为不允许修改foreach变量。严格来说,这不会替换数组中的元素,它使用中替换的元素创建一个新数组。如果在其他地方引用了原始arrayOfStrings,例如arrayOfStrings是某个方法中的in参数,则会产生差异。@grady您不能在arrayOfStrings{s=s.Replacefoo,bar;}中使用foreachvar s,因为您不允许修改foreach变量。