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

C# 元組

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-04

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

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

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

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

    var number = numbers.Iteml;

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

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

    int first = nums.one;

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

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

    GetMaxMin(IEnumerable<int> numbers)

    {

        return (Enumerable.Max(numbers),

                Enumerable.Min(numbers),

                Enumerable.Average(numbers));

    }

然后,在簡(jiǎn)單的控制臺(tái)應(yīng)用程序運(yùn)行下面的代碼:

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ù)查找其他問(wèn)題的答案?

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