C# 数一数
我的代码是:C# 数一数,c#,string,count,integer,C#,String,Count,Integer,我的代码是: int num = 10; int result; for (int i = 1; i < num; i++) { result = i + num - 1; label1.Text = Convert.ToString(result); } 我应该检索result=1+2+3+4+5+6+7+8+9,但我没有检索到它。您需要在for循环中按I递增result,并在for循环后设置label1.Text。试试这个: int num = 10; i
int num = 10;
int result;
for (int i = 1; i < num; i++)
{
result = i + num - 1;
label1.Text = Convert.ToString(result);
}
我应该检索result=1+2+3+4+5+6+7+8+9,但我没有检索到它。您需要在for循环中按I递增result,并在for循环后设置label1.Text。试试这个:
int num = 10;
int result;
for (int i = 1; i < num; i++)
{
result += i;
}
label1.Text = Convert.ToString(result);
在等号前面加上加号
label1.Text += + Convert.ToString(result) + "+";
埃卡德的答案是正确的。您还可以做一些轻微的更改:
int num = 10;
int result;
for (int i = 1; i < num; i++)
{
result += i;
}
label1.Text = result.ToString();
构建字符串时,请尝试始终使用StringBuilder。按如下方式更改代码:
int num = 10;
int result;
string delimiter = "";
StringBuilder textForLabel = new StringBuilder();
for (int i = 1; i < num; i++)
{
result = i + num - 1;
textForLabel.Add(delimiter + result);
delimiter = ", ";
}
label1.Text = textForLabel.ToString();
这将输出label1.Text为、10、11、12等
我不会给出1到9之和的代码,但你应该可以从这里算出
编辑,我认为user2720372对您的答案有最好的解决方案。label1.Text将在每次迭代时被覆盖,这是问题之一。我不明白。在这种情况下,如何获得从1到9的数字之和?设置断点,运行代码,查看代码行为。您将看到每次迭代的值,并尝试思考您可以更改什么以获得所需的总和。它给我18而不是45,因此它不会创建1+2+3+4+5+6+7+8+9,因为每次循环迭代的结果都会被覆盖,9+10-1=18。我认为是textForLabel.Append not.add这不起作用:代码中的+太多了。B代码输出1+2+3+,而不是1+2+3+,因此最后一个+太多
int num = 10;
int result;
string delimiter = "";
StringBuilder textForLabel = new StringBuilder();
for (int i = 1; i < num; i++)
{
result = i + num - 1;
textForLabel.Add(delimiter + result);
delimiter = ", ";
}
label1.Text = textForLabel.ToString();