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变量。