我对我有什么看起来像一个隐式类型的对象数组和不同类型的变量(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);
}
}
}
答案 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));