Start Debugging

Tag: dotnet

422 Beiträge · Seite1von43

Lazy<T> vs LazyInitializer.EnsureInitialized vs Double-Checked Locking in C#
Verwenden Sie standardmäßig Lazy<T>: Es führt die Factory genau einmal aus, speichert Ausnahmen zwischen, und seine Lesezugriffe sind nach der Initialisierung zu billig, um messbar zu sein. Nutzen Sie LazyInitializer.EnsureInitialized, wenn Sie viele Felder oder Array-Elemente lazy befüllen und sich ein zusätzliches Objekt pro Wert nicht leisten können. Handgeschriebenes Double-Checked Locking lohnt sich unter .NET 10 fast nie.
Zahlen mit indischer Lakh/Crore-Ziffern-Gruppierung in .NET formatieren (NumberGroupSizes)
Verwenden Sie die Kultur en-IN oder setzen Sie NumberFormatInfo.NumberGroupSizes auf [3, 2], um in C# 12,34,56,789 statt 123,456,789 auszugeben. Gemessen auf .NET 10 und .NET 11 RC1: wie das Array funktioniert, warum CurrencyGroupSizes getrennt ist, die Invariant-Globalization-Falle, die stillschweigend westliche Gruppierung ausgibt, und ein Hilfsmittel für Lakh/Crore-Wörter.
Weiter