建议用范型替代ArrayList System.Collections.Generic.List<Man> mans = new System.Collections.Generic.List<Man>(); Man joannes = new Man("Joannes", 28, "天津市河西区"); mans.Add(joannes); Man stu = (Man)mans[0]; stu.sayHi(); mans.Remove(joannes); 不行试试:mans.RemoveAt(0)
那应该在mans.Remove(joannes);中放入什么值呢?还望不吝赐教!
使用RemoveAt(0) 或lIst<T>删除 不同对象
用: mans.RemoveAt(0) 0表示这数组mans中的第1个元素. 不过在vs2010 中试了一下你的代码,是好用的,代码如下: public class Man { private string _name; private int _age; private string _address; public string Name{ get{return _name;} } public int Age { get { return _age; } } public string Address { get { return _address; } } public Man(string Name, int Age,string Address) { _name = Name; _age = Age; _address = Address; } public void sayHi() { MessageBox.Show("Hi!"); }
} private void button1_Click(object sender, EventArgs e) { ArrayList mans = new ArrayList(); Man joannes = new Man("Joannes", 28, "天津市河西区"); mans.Add(joannes); Man stu = (Man)mans[0]; stu.sayHi(); mans.Remove(joannes); }
System.Collections.Generic.List<Man> mans = new System.Collections.Generic.List<Man>();
Man joannes = new Man("Joannes", 28, "天津市河西区");
mans.Add(joannes);
Man stu = (Man)mans[0];
stu.sayHi();
mans.Remove(joannes);
不行试试:mans.RemoveAt(0)
或lIst<T>删除
不同对象
mans.RemoveAt(0)
0表示这数组mans中的第1个元素.
不过在vs2010 中试了一下你的代码,是好用的,代码如下:
public class Man
{ private string _name;
private int _age;
private string _address;
public string Name{ get{return _name;} }
public int Age { get { return _age; } }
public string Address { get { return _address; } } public Man(string Name, int Age,string Address)
{
_name = Name;
_age = Age;
_address = Address;
}
public void sayHi()
{
MessageBox.Show("Hi!");
}
} private void button1_Click(object sender, EventArgs e)
{
ArrayList mans = new ArrayList();
Man joannes = new Man("Joannes", 28, "天津市河西区");
mans.Add(joannes);
Man stu = (Man)mans[0];
stu.sayHi();
mans.Remove(joannes); }