就是想从一个txt文件里读取每一行,然后把每行的内容存到一个类类型的数组的一个类成员变量里我这样用:XL[] xn = new XL[22];System.IO.TextReader tr = System.IO.File.OpenText("list.txt");
string tmp = tr.ReadLine();
for (int i = 0; tmp != null; i++ )
{
xn[i].a = Convert.ToString(tmp);
xn[i].b = "123123";
tmp = tr.ReadLine();
i++;
}
tr.Close();但是这样用不对,总提示说:“未将对象引用设置到对象的实例”该怎么用呢????求教了,谢谢
string tmp = tr.ReadLine();
for (int i = 0; tmp != null; i++ )
{
xn[i].a = Convert.ToString(tmp);
xn[i].b = "123123";
tmp = tr.ReadLine();
i++;
}
tr.Close();但是这样用不对,总提示说:“未将对象引用设置到对象的实例”该怎么用呢????求教了,谢谢
你好像只是定义了xn,并没有给xn赋值
这行错了,而且tmp的值是对的,但是好像是不能这么用,我不知道该怎么用~~
XL[] xn = new XL[22];System.IO.TextReader tr = System.IO.File.OpenText("list.txt");
string tmp = tr.ReadLine();
for (int i = 0; tmp != null; i++ )
{
xn[i] = new XL();//加上这行
xn[i].a = Convert.ToString(tmp);
xn[i].b = "123123";
tmp = tr.ReadLine();
i++;
}
tr.Close();
我觉着下面这句:
XL[] xn = new XL[22];
已经实例化了呀为什么还要呢?
谢谢了
{
xn[i]
}xn 定义的长度是22,在for循环里面缺没限制他的长度
{
xn[i] = new XL();//加上这行
xn[i].a = Convert.ToString(tmp);
xn[i].b = "123123";
tmp = tr.ReadLine();
i++;
}对的,由于你XL是一个类,XL[] xn = new XL[22];//只实例化了xn数组.而后你要用xn[i]元素,且还要调用a,b,就应该对xn[i]元素实例化
{
xn[i] = new XL();//加上这行
xn[i].a = Convert.ToString(tmp);
xn[i].b = "123123";
tmp = tr.ReadLine();
i++;
}对的,由于你XL是一个类,XL[] xn = new XL[22];//只实例化了xn数组.而后你要用xn[i]元素,且还要调用a,b,就应该对xn[i]元素实例化
这是定义类类型的
那我该怎么用ArrayList保存类类型呢?谢谢了
string[] temp = System.IO.File.ReadAllLines("d:\\test.txt",System.Text.Encoding.ASCII);
int i = 0;
for (; i < temp.Length;i++ )
{
xn[i].a = temp[i];
xn[i].b = "123123";
}
System.IO.TextReader tr = System.IO.File.OpenText("list.txt");
string tmp = tr.ReadLine();
while(tmp != null)
{
XL xn = new XL();
xn.a = Convert.ToString(tmp);
xn.b = "123123";
tmp = tr.ReadLine();
lstXN.Add(xn);
}
tr.Close();
XL x=new XL();
xn.Add(x);
顶21楼 List<XL>
System.IO.TextReader tr = System.IO.File.OpenText("list.txt");
string tmp = tr.ReadLine();
while(tmp != null)
{
XL xn = new XL();
xn.a = Convert.ToString(tmp);
xn.b = "123123";
tmp = tr.ReadLine();
lstXN.Add(xn);
}
tr.Close();
XL[] xn = new XL[22];System.IO.TextReader tr = System.IO.File.OpenText("list.txt");
string tmp = tr.ReadLine();
for (int i = 0; tmp != null; i++ )
{
xn[i].a = Convert.ToString(tmp);
xn[i].b = "123123";
tmp = tr.ReadLine();
if(string.IsNullOrEmpty(tmp))
break;
}
tr.Close();