我正在制作一个程序,在文本框中添加以逗号(,)分隔的列表编号。 例如:1,12,5,23 在我的总数+ = num;我一直在使用未分配的局部变量和总数;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string str = textBox1.Text;
char[] delim = { ',' };
int total;
int num;
string[] tokens = str.Split(delim);
foreach (string s in tokens)
{
num = Convert.ToInt32(s);
total += num;
}
totallabel.Text = total.ToString();
}
}
}
答案 0 :(得分:2)
您需要更改
int total;
到
int total = 0;
原因是,如果你仔细观察
total += num;
它也可以写成
total = total + num;
第一次使用时,总数将被取消分配。
答案 1 :(得分:0)
您没有为total指定初始值,也许您需要:
int total = 0;
答案 2 :(得分:0)
其他答案是正确的,但我会提供另一种不需要初始化变量的FWIW,因为它只被分配给一次。 :)
var total = textBox1.Text
.Split(',')
.Select(n => Convert.ToInt32(n))
.Sum();