位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# 元組

提問人:劉團圓發(fā)布時間:2020-12-04

    從函數(shù)中返回多個值有多種方法。例如,可用使用前面討論的out關(guān)鍵字、結(jié)構(gòu)或數(shù)組。雖然使用out關(guān)鍵字可以達(dá)到此目的,但這樣使用該關(guān)鍵字并不是它最初的設(shè)計用途。記住,out關(guān)鍵字旨在通過引用傳遞參數(shù),而不必事先初始化它。而結(jié)構(gòu)、數(shù)組和類都是有效的選擇,但需要額外編寫代碼來創(chuàng)建、初始化、引用和讀取它們。相比之下,使用元組則是達(dá)到此目的的一種非常優(yōu)雅的方法,且只需要很小的開銷。

    因為元組提供了一種非常方便和直接的方法來從函數(shù)中返回多個值,在程序不需要結(jié)構(gòu)或更復(fù)雜的實現(xiàn)時,使用元組非常有效。如下面的簡單示例所示:

    var numbers = (1, 2, 3, 4, 5);

上面的代碼創(chuàng)建了一個名為munbers的元組,其中包含成員Item1、Item2、Item3、Item4和Item5,可采用下面的方式來訪問這些成員:

    var number = numbers.Iteml;

如果要給這些成員指定特定的名稱,可以明確地標(biāo)識它們:

    (int one, int two, int three, int four, int five) nums = (1, 2, 3, 4, 5); 

    int first = nums.one;

方法聲明看起來應(yīng)該如下所示:

private static (int max, int min, double average)

    GetMaxMin(IEnumerable<int> numbers)

    {

        return (Enumerable.Max(numbers),

                Enumerable.Min(numbers),

                Enumerable.Average(numbers));

    }

然后,在簡單的控制臺應(yīng)用程序運行下面的代碼:

static void Main(string[] args)

{

    IEnumerable<int> numbers = new int [ ] { 1, 2, 3, 4, 5, 6 }; 

    var result = GetMaxMin{numbers);

    WriteLine($"Max number is {result.max}, " +

              $"Min number is {result.min}, " +

              $"Average is {result.average}");

    ReadLine();

}

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部