亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C#成員變量初始化; 最佳實踐?

C#成員變量初始化; 最佳實踐?

C#
MMTTMM 2019-08-12 17:42:27
C#成員變量初始化; 最佳實踐?在聲明上初始化類成員變量是否更好?private List<Thing> _things = new List<Thing>();private int _arb = 99;還是在默認構造函數中?private List<Thing> _things;private int _arb;public TheClass(){   _things = new List<Thing>();   _arb = 99;}這僅僅是一種風格問題,還是存在性能權衡,這種或那種方式?
查看完整描述

3 回答

?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

字段初始化程序的一個主要限制是無法將它們包裝在try-finally塊中。如果在字段初始值設定項中拋出異常,則將放棄在先前初始值設定項中分配的任何資源; 沒有辦法阻止它。如果笨拙地通過讓受保護的基礎構造函數通過引用接受IDisposable并將其指向自身作為其第一個操作,則可以處理構造中的其他錯誤。然后可以避免調用構造函數,除非通過工廠方法,在異常情況下將調用部分創建的對象上的Dispose。如果主要類構造函數在“走私”對新對象的引用后失敗,則此保護將允許清除在派生類初始值設定項中創建的IDisposable。不幸的是,那里'


查看完整回答
反對 回復 2019-08-12
  • 3 回答
  • 0 關注
  • 630 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號