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引用的錯誤
復制代碼

好記性不如爛筆頭!記下來避免以后再犯這樣的錯誤!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM