隐式类型对象数组和变量

时间:2015-07-24 15:07:15

标签: c# arrays variables object typed

我对我有什么看起来像一个隐式类型的对象数组和不同类型的变量(string,int)。单击表单上的按钮,我可以显示每个数组项的消息。但是,我希望能够将每个项目添加到列表框中。我的代码的最新版本(在尝试许多不同的事情后见下文)产生了错误“错误1使用未分配的局部变量'x'”

如何将不同类型的每个值添加到列表框中?

感谢

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace TheWriteLineMethodForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string x;
            Object[] values = { true, 12.632, 17908, "stringValue",
                                 'a', 16907.32m };
            foreach (var value in values)
                //Console.WriteLine(value);
                //    MessageBox.Show(value.ToString());
                x = value.ToString();
                listBox1.Items.Add(x);

        }
    }
}

1 个答案:

答案 0 :(得分:0)

代码中的一个重大故障,你忘了括号

    foreach (var value in values)
        //Console.WriteLine(value);
        //    MessageBox.Show(value.ToString());
        x = value.ToString();
        listBox1.Items.Add(x);

所以你的代码相当于

string x;
foreach (var value in values) { x = value.ToString(); }
listBox1.Items.Add(x);

当你执行listBox1.Items.Add(x)时,它只添加最后一个值" 16907.32m"

我应该说最简单的方法是使用

values.ToList().ForEach(x => listeBox1.Items.Add(x));