好的,基本上我有一个看起来像这样的字符串:
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循环的方式?
答案 0 :(得分:2)
查看StringBuilder
的实际内容,您会发现它是正确的。
您的代码运行正常。调试器只显示字符的ASCII代码。
答案 1 :(得分:1)
你的第一种方法就好了。它给你52因为那是字符'4'的ASCII码。如果希望值为4,则需要将字符解析为字节值:
byte val = byte.Parse(num);
然后变量val
将包含正确的值。
答案 2 :(得分:1)
试试这个,没关系
foreach (char num in output.ToCharArray())
StringBuilder.AppendFormat("<p value=\"{0}\"></p>",num.ToString());