Ask Learn
Preview
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a value that indicates whether a value has been created for this Lazy<T> instance.
public:
property bool IsValueCreated { bool get(); };
public bool IsValueCreated { get; }
member this.IsValueCreated : bool
Public ReadOnly Property IsValueCreated As Boolean
true
if a value has been created for this Lazy<T> instance; otherwise, false
.
When lazy initialization occurs for a Lazy<T> instance, it may result in either a value being created or an exception being thrown. If an exception is thrown, subsequent behavior of the Lazy<T> instance depends on whether exception caching is in effect. If the Lazy<T> instance was created by using a constructor that does not specify an initialization function, then exception caching is not in effect. A subsequent attempt to initialize the Lazy<T> might succeed, and after successful initialization the IsValueCreated property returns true
. If the Lazy<T> instance was created with an initialization function (specified by the valueFactory
parameter of the Lazy<T> constructor), then exception caching is controlled by the thread safety mode.
If the mode is LazyThreadSafetyMode.ExecutionAndPublication or LazyThreadSafetyMode.None, there is no second chance to initialize the Lazy<T> instance. If an exception occurs and is unhandled in the initialization function, that exception is cached and rethrown on subsequent accesses of the Lazy<T>.Value property. No value is created if an exception is thrown, so in such cases IsValueCreated returns false
.
If the mode is LazyThreadSafetyMode.PublicationOnly, the first thread that succeeds in running the initialization function (or the parameterless constructor) creates the value for the Lazy<T> instance. If the initialization function throws an exception on one thread, other threads can still try to initialize the Lazy<T> instance. Until the value is created, the IsValueCreated property returns false
.
Product | Versions |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1 |
UWP | 10.0 |
.NET feedback
.NET is an open source project. Select a link to provide feedback:
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign in