out c#

簡介,代碼,

簡介

在C#編程中,有時會希望使用引用形式從方法中接收值,但不傳入。例如,可能有一個執行某種功能的方法,比如打開在引用形參中返回成功或失敗代碼的網路套接字。在此情況下,沒有信息傳遞方法,但有從方法傳出的信息。這種情況存在的問題是在調用前必須將ref形參初始化為一個值。因此,要使用ref形參,需要賦予實參一個啞元值,從而可以滿足這一約束。C#中out形參就可以解決此類問題。
out形參類似於ref形參,但它只能用來將值從方法中傳出。在調用之前,並不需要為out形參的變數賦予初始值。在方法中,out形參總是被認為是未賦值的,但在方法結束前必須賦於形參一個值。因此,當調用方法後,out形參引用的變數會包含一個值。
下面是一個使用out形參例子。方法RectInfo()返回已知邊長的矩形面積。在形參isSquare中,如果矩形是正方形,返回true,否則返回false。因此,RectInfo()向調用者返回兩條信息。

代碼

using System;class Rectangle{    int side1;    int side2;    public Rectangle(int i, int j){        side1 = i;        side2 = j;    }    // Return area and determine if square.    public int RectInfo(out bool isSquare){        if (side1 == side2)             isSquare = true;        else             isSquare = false;        return side1 * side2;    }}class OutDemo{    static void Main(){        Rectangle rect = new Rectangle(10, 23);        int area;        bool isSqr;        area = rect.RectInfo(out isSqr);        if (isSqr)             Console.WriteLine("rect is a square.");        else             Console.WriteLine("rect is not a square.");        Console.WriteLine("Its area is " + area + ".");        Console.ReadKey();    }}

相關詞條

熱門詞條

聯絡我們