Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj słowa kluczowego out w dwóch kontekstach:
- Jako modyfikator parametrów, który służy do przekazywania argumentu do metody przez odwołanie, a nie przez wartość.
- W ogólnych deklaracjach parametrów typu dla interfejsów i delegatów, których używasz do określenia, że parametr typu jest kowariantny.
Dokumentacja języka C# zawiera ostatnio wydaną wersję języka C#. Zawiera również początkową dokumentację dla funkcjonalności w publicznych wersjach testowych nadchodzącego wydania języka.
Dokumentacja identyfikuje dowolną funkcję po raz pierwszy wprowadzoną w ostatnich trzech wersjach języka lub w bieżącej publicznej wersji zapoznawczej.
Wskazówka
Aby dowiedzieć się, kiedy funkcja została po raz pierwszy wprowadzona w języku C#, zapoznaj się z artykułem dotyczącym historii wersji języka C#.
out Modyfikator parametrów jest szczególnie przydatny, gdy metoda musi zwrócić więcej niż jedną wartość, ponieważ można użyć więcej niż jednego out parametru. Na przykład
public void Main()
{
double radiusValue = 3.92781;
//Calculate the circumference and area of a circle, returning the results to Main().
CalculateCircumferenceAndArea(radiusValue, out double circumferenceResult, out var areaResult);
System.Console.WriteLine($"Circumference of a circle with a radius of {radiusValue} is {circumferenceResult}.");
System.Console.WriteLine($"Area of a circle with a radius of {radiusValue} is {areaResult}.");
Console.ReadLine();
}
//The calculation worker method.
public static void CalculateCircumferenceAndArea(double radius, out double circumference, out double area)
{
circumference = 2 * Math.PI * radius;
area = Math.PI * (radius * radius);
}
Następujące ograniczenia dotyczą używania słowa kluczowego out :
- Nie można używać
outparametrów w metodach asynchronicznych. - Nie można używać
outparametrów w metodach iteratora. - Nie można przekazać właściwości jako
outparametrów.