Start Debugging

Tag: dotnet

425 posts · Página1de43

Lazy<T> vs LazyInitializer.EnsureInitialized vs double-checked locking em C#
Use Lazy<T> por padrão: ele executa a factory uma única vez, armazena exceções em cache e suas leituras são baratas demais para medir após a inicialização. Use LazyInitializer.EnsureInitialized quando você preenche de forma preguiçosa muitos campos ou posições de um array e não pode pagar um objeto extra por valor. Double-checked locking escrito à mão quase nunca compensa no .NET 10.
Próximo