我刚开始使用 ASP.NET,但在显示循环结果时遇到了麻烦。例如:
int x = 0;
while (x < 10) {
Label1.Text = x+""; // This will show only result 9 ( last result ).
x++;
}
如何显示所有结果而不是只显示一个?
代替:
Label1.Text = x+"";
做:
Label1.Text = Label1.Text + x;
这将只显示结果 9(最后一个结果)。
Label1.Text
是的,因为您在每次迭代中都为属性分配了一个新值。
试试这个;
int x = 0;
while (x < 10)
{
Label1.Text = Label1.Text + x;
x++;
}
或者改为在循环string
之外定义一个值while
并将其添加到int
循环中,然后在循环之外分配您的.Text
值,例如;
int x = 0;
string s = "";
while (x < 10)
{
s += x;
x++;
}
Label1.Text = s;
或者StringBuilder
如果您使用大量数字,使用会更好;
int x = 0;
StringBuilder s = new StringBuilder();
while (x < 10)
{
s.Append(x);
x++;
}
Label1.Text = s.ToString();
请使用下面的代码,您必须在每次迭代中为 Label1.Text 分配一个新的 id。
int x = 0;
while (x < 10)
{
label1.Text += x.ToString();
x++;
}
int x = 0;
while (x < 10) {
Label1.Text += x.ToString();
x++;
}
代替
Label1.Text = x+"";
和
Label1.Text = Label1.Text + x.ToString();
int x = 0;
while (x < 10) {
Label1.Text += x+""; // This will show "123456789".
x++;
}
您需要在每次迭代中添加文本。
如果要显示它们的列表:
Label1.Text += "," + x.ToString();
或者
Label1.Text = Label1.Text + "," + x.ToString();
无论哪种方式都会产生结果:
0,1,2,3,4,5,6,7,8,9
您应该累积每个元素的值,如下所示:
int x = 0;
while (x < 10) {
Label1.Text = Label1.Text + x;
x++;
}
您可以使用字符串生成器
尝试这个:
StringBuilder sb = new StringBuilder();
int x = 0;
while (x < 10) {
sb.Append(x);
sb.Append(" ");
x++;
}
Label1.Text = sb.ToString();
+=
将字符串附加到变量而不是替换,
int x = 0;
while (x < 10) {
Label1.Text += x+" "; //append space to separate
x++;
}