c#为字段设置默认值,以及构造函数初始化List对象。
1、为字段设置默认值
/// <summary> /// 默认值 /// </summary> private int orgPageSize = 10; private int orgPageIndex = 1; /// <summary> /// 页的大小 /// </summary> public int pageSize { get { return orgPageSize; } set { orgPageSize = value; } } /// <summary> /// 当前页 /// </summary> public int pageIndex { get { return orgPageIndex; } set { orgPageIndex = value; } }
注意:需要纠正一下的是,在属性上通过Attribute加[DefaultValue()]的方法是无效的。(亲自使用过,根本就不能生效!网上居然还有很多文章说使用这种方式。很无语啊!)
/// <summary> /// 当前页 /// </summary> [DefaultValue(1)] public int PageIndex { get; set; } //无效的
2、创建对象时,利用构造函数初始化List
/// <summary> /// 产品管理DTO /// </summary> public class ProductDTO { /// <summary> /// /// </summary> public ProductDTO() { TestOrgOnline = new List<ProductOnlineDTO>(); //每次new一个ProductDTO,就会实例化List数组, } /// <summary> /// 产品上线 /// </summary> public List<ProductOnlineDTO> TestOrgOnline { get; set; } }
示例代码:
ProductDTO productDto = new ProductDTO(); ProductOnlineDTO productOnlineDTO = new ProductOnlineDTO { onlineId = item.Id, IsOnline = item.IsOnline, Price = item.VIPPrice, mark = item.Price, OnlineDate = item.OnlineDate, TestOrgId = item.TestOrgId, }; var testOrg = context.TestOrg.Where(f => f.Id == item.TestOrgId).FirstOrDefault(); productOnlineDTO.TestOrgName = testOrg.OrgName; productDto.TestOrgOnline.Add(productOnlineDTO); //将对象添加到List数组中,返回到页面。此时如果没有利用构造函数初始化List对象,就会报null引用的错误
好记性不如烂笔头!记下来避免以后再犯这样的错误!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix