48023


例として、関数fは

[code]

    int f ((int, string))
    
[/code]

のような型を持つとします。

実際に関数fを定義するとき、

[code]

    int f ((int x, string s) t) {
        return t.x;
    }
    
[/code]

のように、仮引数のタプルtは定義できます。

しかし、タプルtは大抵の場合、意味を持たず、名前が冗長になりがちです。  
なので、例えば、

[code]

    int f ((int x, string s)) {
        return x;
    }
    
[/code]

のように、関数fの仮引数でタプルの分解がしたいのですが、それは可能でしょうか？


CC BY-SA 4.0
2018-09-02T03:32:04.803
48017
2018-09-02T10:16:51.000
7460
question
c# .net
C#について、関数の仮引数で、タプルの分解がしたい


C#7.3の時点ではできないようです。  
素直に関数内の先頭で下記のように書いて、分解する必要がありそうです。

[code]

    (int x, string s) = t;
    
[/code]


CC BY-SA 4.0
2018-09-02T10:16:51.000
48023
2018-09-02T10:16:51.000
25396
48017
answer