获取未分配变量的使用错误



我正在制作一个程序,在文本框中添加用逗号(,)分隔的列表编号。示例:1,12,23在我的总数中+=num;我一直在使用未分配的局部变量和total;

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();

    }
   }
 }

您需要更改

int total;

int total = 0;

原因是,如果你仔细观察

total += num;

也可以写成

total = total + num;

其中,第一次使用将取消分配总数。

您没有为total分配初始值,也许您需要:

int total = 0;

其他答案都是对的,但我将提供一种替代FWIW,它不需要初始化变量,因为它只分配给一次。:)

var total = textBox1.Text
    .Split(',')
    .Select(n => Convert.ToInt32(n))
    .Sum();

相关内容

  • 没有找到相关文章

最新更新