List集合add使用过程中出现的错误-创新互联

list集合功能很强大,但在使用过程中也会出现一些意想不到的问题,今天我在list.add()的时候遇到了一个添加错误,查了之后才发现原来错误这么简单,下面把我的错误及解决过程分享下!

成都网络公司-成都网站建设公司创新互联建站十余年经验成就非凡,专业从事成都网站设计、做网站,成都网页设计,成都网页制作,软文推广一元广告等。十余年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:028-86922220,我们期待您的来电!

首先我定义了一个类
namespace NBHT.SZJD.BLL
{
   public class PrjPicture
   {
       public int width;
       public int height;
       public string src = string.Empty;
   }
}

接着定义了一个list对象

protected List prjPictures = null;

用于将此类的对象存入到priPictures集合中

再定义一个类的对象pbl1(此处一定要注意对象不对再定义到foreach外部,因为list集合是一个引用类型,如果定义到外部就会出现循环添加到集合中的所有对象最后都变成了最后一次添加的那个对象了,所以要把对象new到循环内部这样每次循环就new出来一个新的对象)

BLL.PrjPicture pbll = null;

               foreach (M.ProjectPictrue p in PictureList)
               {
                   pbll = new B.PrjPicture();
                   pbll.src = p.PicUrl;
                   pbll.height =Convert.ToInt32(ConfigurationManager.AppSettings["PictureHeight"].ToString());
                   pbll.width = Convert.ToInt32(ConfigurationManager.AppSettings["PictureWidth"].ToString());
                   prjPictures.Add(pbll);
               }
这样的话,循环的结果就可以把所有的对象添加到list集合中,不至于集合中的每个对象都一样了!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:List集合add使用过程中出现的错误-创新互联
文章路径:http://pwwzsj.com/article/djdehp.html