java list add出错_List集合add使用过程中出现的错误

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

首先我定义了一个类

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集合中,不至于集合中的每个对象都一样了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值