我无法想到我在这里做错了什么,代码非常简单,每次按下按钮时我都会尝试增加+1,而不是例如:5 + 1这是6 ,标签打印51。
代码:
// update count here...
lblCount.Text = lblCount.Text + 1;
标签保留了初始值,我认为只是添加标签当前正在做的事情 +1 就足够了但是它没有像我想的那样工作。
任何帮助都将不胜感激。
答案 0 :(得分:3)
转换为int,然后转换为String
var total = int.Parse(lblCount.Text) + 1;
lblCount.Text = total.ToString();
答案 1 :(得分:1)
是的,因为label.Text
的输出是String
像这样使用
int x = Int32.Parse(lblCount.Text);
然后添加x + 1
答案 2 :(得分:1)
转换成功时会增加。 在 C#7 代码中:
if (int.TryParse(lblCount.Text, out int currentValue))
{
var result = currentValue + 1;
lblCount.Text = result.ToString();
};
if (int.TryParse(lblCount.Text, out int currentValue))
{
currentValue += currentValue 1;
lblCount.Text = currentValue.ToString();
};
答案 3 :(得分:0)
lblCount.Text
中包含一个文本(更好地说是String),现在您正在尝试使用整数进行算术计算。
它首先保持它的值并将下一个值添加为字符串(如concatination)。要避免这种情况,
首先,您必须在添加1之前将其转换为整数。
你这样做lblCount.Text = int.Parse(lblCount.Text) + 1;
答案 4 :(得分:0)
正如您已经注意到的那样,您的问题是当前值保存为字符串。所以你不能对字符串进行数学运算。
每次要添加1时,不要将字符串解析为整数 - 将当前值保存在整数类型的局部变量中,并对此变量执行所有操作。
private int count;
// update count here...
count = count + 1;
lblCount.Text = count.ToString();
答案 5 :(得分:-2)
int counter;
public void Yourbutton_Click(object sender, EventArgs e)
{
counter + 1;
lblCount.Text =counter.ToString();
}