0

我刚开始使用 ASP.NET,但在显示循环结果时遇到了麻烦。例如:

int x = 0;
while (x < 10) {

  Label1.Text = x+""; // This will show only result 9 ( last result ). 
    x++;
}

如何显示所有结果而不是只显示一个?

4

10 回答 10

1

代替:

Label1.Text = x+"";

做:

Label1.Text = Label1.Text + x;
于 2013-09-27T11:45:39.900 回答
1

这将只显示结果 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();
于 2013-09-27T11:45:59.127 回答
0

请使用下面的代码,您必须在每次迭代中为 Label1.Text 分配一个新的 id。

int x = 0;
    while (x < 10)
    {
        label1.Text += x.ToString();
        x++;

   }
于 2013-09-27T11:56:36.950 回答
0
int x = 0;

while (x < 10) {

  Label1.Text += x.ToString();  
    x++;
}
于 2013-09-27T11:47:39.597 回答
0

代替

Label1.Text = x+"";

  Label1.Text = Label1.Text + x.ToString();
于 2013-09-27T11:59:12.400 回答
0
int x = 0;

while (x < 10) {

  Label1.Text += x+""; // This will show "123456789". 
    x++;
}

您需要在每次迭代中添加文本。

于 2013-09-27T11:45:12.427 回答
0

如果要显示它们的列表:

Label1.Text += "," + x.ToString();

或者

Label1.Text = Label1.Text + "," + x.ToString();

无论哪种方式都会产生结果:

0,1,2,3,4,5,6,7,8,9
于 2013-09-27T11:45:24.740 回答
0

您应该累积每个元素的值,如下所示:

int x = 0;
while (x < 10) {
  Label1.Text = Label1.Text + x;
  x++;
}
于 2013-09-27T11:46:32.947 回答
0

您可以使用字符串生成器

尝试这个:

 StringBuilder sb = new StringBuilder();
    int x = 0;

        while (x < 10) {
          sb.Append(x);
          sb.Append(" ");
            x++;
        }
 Label1.Text = sb.ToString(); 
于 2013-09-27T11:55:02.443 回答
0

+=将字符串附加到变量而不是替换,

int x = 0;
while (x < 10) {
  Label1.Text += x+" "; //append space to separate  
    x++;
}
于 2013-09-27T11:59:54.840 回答