List集合add使用过程中出现的错误
2012-06-06 11:04
459 查看
list集合功能很强大,但在使用过程中也会出现一些意想不到的问题,今天我在list.add()的时候遇到了一个添加错误,查了之后才发现原来错误这么简单,下面把我的错误及解决过程分享下!
首先我定义了一个类
namespace NBHT.SZJD.BLL
{
public class PrjPicture
{
public int width;
public int height;
public string src = string.Empty;
}
}
接着定义了一个list对象
protected List<NBHT.SZJD.BLL.PrjPicture> 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集合中,不至于集合中的每个对象都一样了!
首先我定义了一个类
namespace NBHT.SZJD.BLL
{
public class PrjPicture
{
public int width;
public int height;
public string src = string.Empty;
}
}
接着定义了一个list对象
protected List<NBHT.SZJD.BLL.PrjPicture> 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集合中,不至于集合中的每个对象都一样了!
相关文章推荐
- List集合add使用过程中出现的错误
- C#使用List出现“集合已修改;可能无法执行枚举操作”错误的解决办法
- wireshark使用过程无法抓取前序和FCS或出现IP报头校验和错误--原因
- 【转】CentOS 使用yum命令安装出现错误提示”could not retrieve mirrorlist http://mirrorlist.centos.org ***”
- 【转】wireshark使用过程无法抓取前序和FCS或出现IP报头校验和错误--原因
- map和list使用过程中注意集合中空数据引发的空指针
- mysql集群使用过程中错误集合
- CKFinder使用过程中出现的错误总结
- VMware Workstation的使用过程中出现的错误及解决方案
- VS下使用openGL过程中的常见错误集合
- wireshark使用过程无法抓取前序和FCS或出现IP报头校验和错误--原因
- git使用过程出现的错误
- CentOS 使用yum命令安装出现错误提示”could not retrieve mirrorlist http://mirrorlist.centos.org ***”
- Keil 5 使用 Jlink 进行调试出现错误: No Algorithm found for:错误的解决过程
- 使用原生sql查询数据返回object类型list时,转换数据列出现转换类型错误(但写法正确)
- 使用AlertDialog.Builder的时候出现错误:unable to add window --token null is not for an application的解决办法
- CentOS 使用yum命令安装出现错误提示”could not retrieve mirrorlist http://mirrorlist.centos.org ***” - ybq155
- 使用signApk签名ROM包出现addDigestsToManifest错误的解决
- 安装Xen、创建Xen虚拟机、使用Xen虚拟机过程中经常出现的错误总结
- C#中foreach List循环操作出现“集合已修改;可能无法执行枚举操作”错误