循环使用foreach的字符串

本文关键字:字符串 foreach 循环 | 更新日期: 2023-09-27 18:34:15

好的,所以基本上我有一个看起来像这样的字符串:

var output = "475183602";

我想遍历字符串中的每个字符。

我目前有这个:

foreach (char num in output)
    {
     StringBuilder.appendFormat("<p value='"{0}'"></p>",num);
    }

但是当我调试、设置断点并检查num时,它给了我这个:

52 '4'

我尝试使用:

foreach (byte num in output)

然而,这只是给了我52.

我怎么得到四个?

这样只运行一个 for 循环更好吗:

for (i=0;i<output.length;i++) {
 var num = output.Substring(i,1);
//string builder here
}

还是 foreach 循环是要走的路?

循环使用foreach的字符串

查看StringBuilder的实际内容,您会发现它是正确的。

您的代码工作正常。调试器仅显示字符的 ASCII 代码。

你的第一种方法很好。它给你 52,因为这是字符"4"的 ASCII 代码。如果你想要值 4,你需要将字符解析为字节值:

byte val = byte.Parse(num);

然后变量val将具有正确的值。

试试这个,会没事

foreach (char num in output.ToCharArray())
  StringBuilder.AppendFormat("<p value='"{0}'"></p>",num.ToString());