Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Standardmäßig werden Werttypen by value (als Wert) an Methoden übergeben (siehe den Abschnitt »Argumente zu Methoden« weiter oben in diesem Kapitel). Das bedeutet, dass eine temporäre Kopie des Objekts in der Methode erzeugt wird, wenn ein Wertobjekt an eine Methode übergeben wird. Ist die Methode einmal abgeschlossen, wird die Kopie verworfen. Die Übergabe by value ist zwar der Normalfall, aber es kommt auch vor, dass Sie Wertobjekte by reference übergeben möchten. C# bietet den Parametermodifikator ref für die Übergabe von Wertobjekten an Methoden by reference und den Modifikator out für die Fälle, in denen Sie eine ref-Variable übergeben möchten, ohne sie vorher zu initialisieren. C# unterstützt auch den Modifikator params, der es einer Methode erlaubt, eine beliebige Anzahl von Parametern entgegenzunehmen. Das Schlüsselwort params wird in Arrays, Indexer und Collections erläutert.
Methoden können nur einen einzigen Wert zurückgeben (der allerdings auch eine Werte-Collection sein kann). Kehren wir zur Klasse Time zurück, und fügen wir eine GetTime()-Methode hinzu, die die Stunde, Minuten und Sekunden zurückgibt.