【发布时间】:2015-02-04 17:13:32
【问题描述】:
假设我有以下字符串:
string str = "aaa123aaa";
我将给定的字符串转换为 char 数组:
char[] array1 = str.ToArray();
然后我想使用 foreach 循环遍历元素以将所有数字更改为空格
foreach (char i in array1)
{
if (char.IsNumber(i)) { // ? }
}
如何将符合条件的字符更改为空格? 我尝试了以下方法无济于事:
i = ' '; char(i) = ' '; array1(i) = ' ';
它们都不起作用。
我究竟如何与 foreach 循环中的元素进行交互? 如果我使用数组很简单,在这种情况下我会简单地使用:
array1[i] = ' ';
但我不知道如何在 foreach 循环中做同样的事情。
提前谢谢你!
【问题讨论】:
-
你不想要为只读应用程序设计的
foreach,你想使用普通的for循环。 -
如果要在其中修改集合,请使用 for 循环
-
请注意,虽然它与modify collection in foreach 非常相似,但它可能会有所不同,因为 OP 需要一种在迭代期间从 item 获取回集合元素的方法。在大多数情况下,明确修改集合会遇到上面链接中介绍的“集合已修改”异常..