龙族辅助 破解版:c#结构体问题

来源:百度文库 编辑:高校问答 时间:2024/05/02 06:24:18
public struct SEntity
{

public string name;
public string type;
public string subType;
public string cx;
public SEntity(string name,string type,string subType,string cx)
{
this.name=name;this.type=type;this.subType=subType;this.cx=cx;
name="";
type="";
subType="";
cx="";
}
};
//保存实体对,order为它们之间的位置关系
public struct MEntity
{
public SEntity []se;
public int order;
public MEntity(SEntity [ ]se,int order)
{
this.se=se;this.order=order;
se=new SEntity[2];
se[0].name="";se[0].type="";se[0].subType="";se[0].cx="";
se[1].name="";se[1].type="";se[1].subType="";se[1].cx="";
order=0;
}
};
public bool Match(SEntity []se,MEntity []me,int size)
{

for (int i=1;i<size;++i)
{
me[i-1].se[0]=se[0];//调试到此出错
me[i-1].se[1]=se[i];
if(se[0].name.Length>se[i].name.Length && IsStr(se[0].name,se[i].name))
me[i-1].order=3;
else if(se[i].name.Length>se[0].name.Length &&IsStr(se[i].name,se[0].name))
me[i-1].order=2;
else
me[i-1].order=0;
}
return true;
}
public bool CreatFeature(SEntity []se,string outpath,string dicPath,string typePath,string subPath,string cxPath,int size)
{
MEntity []me=new MEntity[size-1];

StreamWriter rw=new StreamWriter(outpath,true,Encoding.Default);
StreamReader rddic=new StreamReader(dicPath,Encoding.Default);
StreamReader rdtype=new StreamReader(typePath,Encoding.Default);
StreamReader rdsub=new StreamReader(subPath,Encoding.Default);
StreamReader rdcx=new StreamReader(cxPath,Encoding.Default);

int j=0;
string str="";

if(Match(se,me,size))
for(j=0;j<size-1;++j)
{
str+=ReturnPos(me[j].se[0].type,typePath)+","+ReturnPos(me[j].se[1].type,typePath)+",";
str+=+ReturnPos(me[j].se[0].subType,subPath)+","+ReturnPos(me[j].se[1].subType,subPath)+","+me[j].order;

rw.Write(str);
}
rw.Close();
return true;
}

运行出错,未将对象引用到实例,调试是发现错误在上面的Match函数中,大家帮忙看看
问题已经解决,在Match函数内再次实例化,但me数组在CreatFeature内不是已经实例化了吗?

没有实例化可能