📚
Lerndokumentationen
.NET
.NET
  • Willkommen
  • C#
    • Variablen
      • Strings
      • Integers
      • Floats und Doubles
      • Booleans
      • Casting und Parsing
    • Kontrollstrukturen
      • if-Statements
      • Ternary-Operator
      • Switch-Statements und -Expressions
    • Collections
      • Arrays
      • Lists
      • Dictionaries
    • Loops
      • while-Loops
      • for-Loops
      • foreach-Loops
      • continue und break
    • Methoden
      • Callbacks und Delegates
      • Extension Methods
      • Lazy
    • Objektorientierte Programmierung
      • Fields und Properties
      • Methoden
      • Statisch vs. Instanzen
      • Konstruktoren
      • Vererbung
      • Komposition
      • Generics
      • Tupel
    • Referenz- und Wertetypen
      • Enums
      • Structs
      • Records
    • Binary und Strings
      • Kodierung von Strings und Bytes
      • Streams
      • XML und JSON
  • Design Patterns
    • Creational Patterns
      • Singleton
    • Structural Patterns
      • Decorator Pattern
    • Behavioral Patterns
      • Memento
      • Strategy
Bereitgestellt von GitBook
Auf dieser Seite
  1. C#
  2. Methoden

Lazy

Lazy<T> ist ein generischer Typ in C#, der es uns erlaubt, die Erstellung eines Wertes zu verschieben. Wir können der Lazy<T>-Klasse ein Delegate übergeben. Dieser Delegate wird dann ausgeführt, wenn wir das erste Mal nach dem Wert fragen. Das nächste Mal erhalten wir einfach eine Kopie des Wertes.

Lazy<int> max = new Lazy<int>(() => 
{
    int[] numbers = [35, 20, 30, 40, 50];
    
    int max = int.MinValue;
    foreach (var number in numbers)
    {
        if (number > max)
        {
            max = number;
        }
        
        Thread.Sleep(1000);
    }
    
    return max;
});

Console.WriteLine($"Value is: {max.Value}");
Console.WriteLine($"Value is: {max.Value}");
VorherigeExtension MethodsNächsteObjektorientierte Programmierung

Zuletzt aktualisiert vor 1 Monat