【问题标题】:In C#, how can i get a label to display multiple results without using additional labels?在 C# 中,如何在不使用附加标签的情况下获得一个标签来显示多个结果?
【发布时间】:2015-02-11 19:00:10
【问题描述】:

我目前的代码如下:

private void btnEXE_Click(object sender, EventArgs e)
{

    int num1 = 0;
    int num2 = 1;
    int sum = 1;

    do
    {
        sum = num1 + num2;
        num1 = num2;
        num2 = sum:

        lblOUT.Text = Convert.ToString(num2);
        while (sum <= 100);
    }

当我运行程序时,它只给我一个 144 的结果。 我需要程序做的是列出 0 到 100 之间的每个结果,然后将每个结果输出到一个标签中。 顺便说一句,这是斐波那契数列。 任何帮助将不胜感激。

【问题讨论】:

  • 在执行之前清空 lblOut.Text 和 lblOut.Text += Convert.ToString(num2) + Environment.NewLine; 以将更多信息分配给标签

标签: c# output windows-forms-designer fibonacci labels


【解决方案1】:
lblOUT.Text += Convert.ToString(num2) + Environment.NewLine; 

应该是这样的

【讨论】:

  • 非离子。谢谢伙计,我已经准备好把头发从头上扯下来了,我想我那天可能会因为 envirnoment.newline 部分而缺课。再次感谢你是我的生活品味
  • 嘿,再问你一个问题(如果你不介意^_^)程序现在列出了所有内容(这是我想要的),但最后一个值 144 正在列出(我不想要) .我应该将“while(sum
  • 如果需要,您可以添加一个检查是否 num2 >=143。如果是,则不要显示它:P
  • 别担心!也祝你节日快乐!
【解决方案2】:

在众多解决方案中,一个简单的方法是使用StringBuilder

StringBuilder sb = new StringBuilder();
do
{
   ...
   sb.AppendFormat("{0} ", num2);
}
while (sum <= 100)

lblOUT.Text = sb.ToString();

您还可以将数字存储在列表中,并在其他解决方案中使用String.Join

【讨论】:

  • 哇,布拉德利,感谢您的帮助,但我是 C# 的初学者,我还没有研究过“StringBuilder”,所以我不知道它到底是什么。我想我应该在发布之前说明我的经验。但无论如何我不会说这不是我想要的,所以谢谢你的帮助,我很感激。
  • @SprJD7903 StringBuilder 是创建长动态字符串的更有效方式(使用+ 不节省内存)。在这个级别上你不必担心什么,但在这种情况下它也会产生更多惯用的代码。你可以查看它的文档:msdn.microsoft.com/en-us/library/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-16
  • 1970-01-01
相关资源
最近更新 更多