c# - Initializing member in Getter or Constructor -


is there difference between these 2 approaches ?

in approach using getter initialize datatable

public datatable res {         {         if (res == null)         {             res = getdatatable();         }         return res ;     }     private set; } 

vs.

in approach using constructor initialize datatable

public class xyz {     public datatable res{ get; private set;}     //constructor      public xyz()     {         res= getdatatable();                 } } 

this variable used on asp.net page fill dropdown list. perform better ?

edit:-

this used in web application data not change. bind table dropdown list in page_load event.

the question whether given instance of class xyz need , use datatable.

if not, you'd want lazy-initialize (using getter), avoid doing work front nothing.

if need it, next question whether there potentially substantive delay between instantiation of class , call res property. if so, loading data upon instantiation mean data bit more stale if waited until property getter called.

the flip-side not applicable in web scenario, in other applications 1 want consider whether call property needs highly responsive keep ui freezing. preloading data might preferable in such scenario.


Comments

Popular posts from this blog

delphi - How to convert bitmaps to video? -

jasper reports - Fixed header in Excel using JasperReports -

python - ('The SQL contains 0 parameter markers, but 50 parameters were supplied', 'HY000') or TypeError: 'tuple' object is not callable -