【发布时间】:2021-05-02 09:03:03
【问题描述】:
我想做的是这样的:
StringBuilder sb = new StringBuilder();
foreach(char ch in valor)
{
if (ch == ',')
ch = '.';
else if (ch == '0' || ch == '1' || ch == '2' || ch == '3' || ch == '4' || ch == '5' || ch == '6' || ch == '7' || ch == '8' || ch == '9' || ch == ',')
{
sb.Append(ch);
}
}
我想要的是,如果字符是逗号,则将其设为点。但我收到以下错误
不能给'ch'赋值,因为它是一个foreach交互变量
【问题讨论】:
-
最终目标是什么?
ch == ','也出现在if和else if中,这没有多大意义。 -
可能duplicate.
-
语言规范明确声明 “变量 v 在嵌入语句中是只读的。” 但没有说明原因。 docs.microsoft.com/en-us/dotnet/csharp/language-reference/…
-
替代方法
if ("0123456789.".Contains(ch))或if (char.IsDigit(ch) || ch == '.')
标签: c# loops foreach char stringbuilder