Should C# have a lazy key word
Should C# have a lazy keyword to make lazy initialization easier? E.g. public lazy string LazyInitializeString = GetStringFromDatabase(); instead of private string _backingField; public string LazyInitializeString { get { if (_backingField == null) _backingField = GetStringFromDatabase(); return _backingField; } } I don't know about a keyword but it now has a System.Lazy<T> type. It is officially part of .Net Framework 4.0 . It allows lazy loading of a value for a member . It supports a lambda expression or a method to provide a value. Example: public class ClassWithLazyMember { Lazy<String>