【发布时间】:2012-04-28 01:21:19
【问题描述】:
我正在关注这个视频:http://www.youtube.com/watch?v=Y63vq_tcTGk,他在 8:20 打字
ds.Add(a);
show_diem();
但是当我执行 ds.Add(a); 时出现错误;
我是新手,所以我仍然不确定 ds 是什么?可以是什么吗?他宣称
ds = new ArrayList();
在开始时,它可以是任何东西吗?为什么会弹出错误?这是我的 Form1 上的代码。 “Employee”是一个类,“employeeId”“firstName”等是文本框。我用“em”而不是“ds”。
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;
using System.Collections;
namespace Employee_Program
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public ArrayList em;
private void Form1_Load(object sender, EventArgs e)
{
em = new ArrayList();
}
private void show_employee()
{
listView1.Items.Clear();
foreach(Employee a in em)
{
int i = listView1.Items.Count;
listView1.Items.Add(a.FirstName);
listView1.Items[i].SubItems.Add(a.LastName);
listView1.Items[i].SubItems.Add(a.EmployeeId.ToString());
listView1.Items[i].SubItems.Add(a.YearSalary.ToString());
}
}
private void button1_Click(object sender, EventArgs e)
{
Employee a = new Employee();
a.FirstName = firstName.Text;
a.LastName = lastName.Text;
a.EmployeeId = float.Parse(employeeId.Text);
a.YearSalary = float.Parse(yearSalary.Text);
em.Add(a);
show_employee();
}
}
}
错误提示:对象引用未设置为对象的实例。
【问题讨论】:
-
你确定你的 Form1_Load 事件被调用了吗?
-
该视频中使用的做法很糟糕。
-
@sgmoore OH 原来这是不正确的,但现在我重做了它,它可以工作,但 GUI 现在有不同的问题。当我单击按钮时,仅显示名字值。有什么想法吗?
标签: c# nullreferenceexception unhandled