4 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
您錯(cuò)過了初始化 sum 的默認(rèn)值。在向變量sum = 0添加值之前賦值sum
private void AddButton_Click(object sender, EventArgs e)
{
decimal sum = 0; //Set sum = 0 by default
listBox2.Items.Add(TextBox1.Text);
TextBox1.Text = "";
for (int i = 0; i < listBox2.Items.Count; i++)
{
//To check value of sum after each iteration, you can print it on console
Console.WriteLine("Sum =" +sum);
sum += Convert.ToDecimal(listBox2.Items[i].ToString());
}
Label1.Text = sum.ToString();
}

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
對(duì)不起,也許沒有回答,但奇怪的是你的編譯器沒有告訴你初始化 sum。第二次我測(cè)試了您的代碼,它按預(yù)期正常工作,這意味著如果問題不在 sum 變量中,那么您在其他地方對(duì)該字段進(jìn)行了其他操作,因此您的代碼無法正常工作。
考慮到您對(duì)前人的評(píng)論,我也會(huì)這么說。在某些情況下(我知道這很有趣,但是)您的計(jì)算機(jī)上可能有病毒。核實(shí)。有一次我的數(shù)學(xué)實(shí)驗(yàn)室工作失敗了,因?yàn)椴《局袛嗔宋业某绦?,所以它畫了錯(cuò)誤的圖表!我知道:D

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
需要將 sum 設(shè)置為 0,而且最好使用 foreach 而不是 Dotloop。
private void AddButton_Click(object sender, EventArgs e) {
decimal sum = 0;
listBox2.Items.Add(TextBox1.Text);
TextBox1.Text = "";
foreach (string s in listBox2) {
sum += Convert.ToDecimal(s);
}
Label1.Text = sum.ToString();
}

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
private void button1_Click(object sender, EventArgs e)
{
var sum = 0;
var value = 0;
listBox1.Items.Add(textBox1.Text);
foreach (var item in listBox1.Items)
{
if (!int.TryParse(item.ToString(), out value))
continue;
sum = sum + value;
}
label1.Text = sum.ToString();
textBox1.Text = string.Empty;
}
- 4 回答
- 0 關(guān)注
- 175 瀏覽
添加回答
舉報(bào)