简单的C#数组问题,大哥帮我看一下吧,这个问题我想好久了!!

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:04:59
内容有点多,抽点时间帮我看看吧大哥!我求你了!我都因为这个没吃2顿饭了今天
下面是两个类,其中一个是派生类 程序太多了百度不让写这么多
public override string Answer()
{
string result = "小学生信息:";
result += "姓名:" + Name + "性别:" + Sex+"年龄:"+Age+"学校:"+PriSchool;
return result;
}
}

下面是主函数

public partial class Form1 : Form
{
Primary []p=new Primary [100];
public int count;
string pName;
char pSex;
int pAge;
string pSchool;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
pName = this.textBox1.Text;
pSex = Convert.ToChar(this.textBox2.Text);
pAge = Convert.ToInt32(this.textBox3.Text);
pScho

你不是不太会 而是根本不会
连造成这种问题的代码位置都没找对
出现这个问题的主要原因在
for (int i=0;i<2;i++)
{
p[i] = new Primary(pName, pSex, pAge, pSchool);
//此处虽然创建了新的对象,但却都是以相同的参数创建的,Answer()方法返回的自然也是一样的

}
你是想输入一次数据点Button1按钮就生成一个新对象吧,改成下面的试试
for (int i=0;i<2;i++)
{
if(p[i]==null){
p[i] = new Primary(pName, pSex, pAge, pSchool);
break;
}

}

点那个button1的话其实是实例两个相同的对象

循环里实例对象的参数都是一样的,没看到吗

59557678(QQ)
帮你看看吧。

循环的确有问题!

只出一个值可能是因为"\n"