当前位置: 代码迷 >> C# >> 《生手》在使用list是实例化一个类,请大家指点下
  详细解决方案

《生手》在使用list是实例化一个类,请大家指点下

热度:79   发布时间:2016-05-05 04:09:56.0
《新手》在使用list是实例化一个类,请大家指点下
《新手》在使用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要声明类型
{
}
}
  相关解决方案