《新手》在使用list是实例化一个类,不知道下面写的对不对,请大家指点下!
下面是定义的一个类
namespace web
{
public class name
{
private string charguid;
private string charname;
public namecl(string Charname,string Charguid)
{
this.charguid = Charguid;
this.charname = Charname;
}
public string charna
{
get{return charname;}
}
public string charg
{
get{return charguid;}
}
}
}
这个是别的地方调用上面的类
class classn ---下面的是在这个类里
public List<name> open(string username)
{
// ArrayList<namecl> nname = new ArrayList<namecl>();
List<name> nname = new List<name>();
nname.Clear();
while ( 10 )
{
name listname = new name(“测试”, “标题”);
nname.Add(listname);
}
return nname;
}
cs 页面调用的
请问我下面这样调用有没有错误?新手第一次学习这个!
classn xinclass = new classn();
List<name> nname = new List<name>();
nname = xinclass.open(Session["name"].ToString());
foreach (name p in nname)
{
DropDownList1.Items.Add(new ListItem( p.charna ,p.charg));
}
------解决思路----------------------
你的list内部的元素没有被初始化,你循环访问会出错,你要像第二段代码那样,对里面的对象初始化
------解决思路----------------------
List<name> nname = xinclass.open(Session["name"].ToString());//new 的过程没有必要
if(nname!=null && nname.Count>0)//良好的判断习惯
{
foreach (var name p in nname)//name要声明类型
{
}
}