首页 / C# / c# – 向List添加新对象不起作用
c# – 向List添加新对象不起作用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 向List添加新对象不起作用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1202字,纯文字阅读大概需要2分钟。
内容图文
![c# – 向List添加新对象不起作用](/upload/InfoBanner/zyjiaocheng/762/65cfa91d53b24b74879b9334326a4f22.jpg)
我正在尝试向OldFlatFileList添加一个新的OldFlatFile,但它不能添加新的OldFlatFile.我看不到错误,我不知道下面的代码是否有问题?
OldFlatFileList计数与添加之前和之后相同:
var selectedPackage = FlatFileHelper.GetSelectedPackage(OldFlatFileList);
var primaryFeature = new PrimaryFeatures(){ DataTypeCode = "abc" };
OldFlatFileList.ToList().Add(
new OldFlatFile
{
new OldFlatFileEntry
{
InformationFields = selectedPackage.InformationFields,
PrimaryFeatures = primaryFeature,
SecondaryFeatures = null
}
});
private IEnumerable<OldFlatFile> OldFlatFileList
{
get { return Session[SystemConstant.OldFlatFileListKey] as List<OldFlatFile>; }
set { Session[SystemConstant.OldFlatFileListKey] = value; }
}
public class OldFlatFile : List<OldFlatFileEntry>
{}
解决方法:
OldFlatFileList.ToList()创建列表的新实例(将具有原始列表中的项目副本).然后,您将新对象添加到该新列表,但不保存对任何变量中的新列表的引用.所以添加项目的新列表将由垃圾收集器收集.原始列表将保持不变(因为您没有添加项目).
因此,您无法将项目添加到IEnumerable< T>的变量中. type(它只支持枚举),我建议你将OldFlatFileList属性类型改为List< OldFlatFile>,或者IList< OldFlatFile>或ICollection< OldFlatFile>.然后简单地致电:
OldFlatFileList.Add(new OldFlatFile { ... });
这将修改您的原始列表.
内容总结
以上是互联网集市为您收集整理的c# – 向List添加新对象不起作用全部内容,希望文章能够帮你解决c# – 向List添加新对象不起作用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。