今回のテーマ
Contents
こんばんは、かっぱちゃんです。
今回は下記のテーマについて書いていきます。
今回のテーマ
メソッドから2つの値を返す方法
メソッドから2つの値を返す方法としてタプルの使い方を解説します。
今回は下記の順番でタプルを解説していきます。
step
1タプルの使い方
step
2タプルの便利な点
step
3Linqでの使用方法
step
4まとめ

タプルの使い方
複数の値を指定する方法として皆さんは何を思い浮かべますか?
きっと、配列を思い浮かべると思います。なので、早速配列を定義してみます。
配列を使った例
1 2 3 4 5 6 7 8 9 |
Imports System Module Program Sub Main(args As String()) Dim Array = {1, 2} Console.WriteLine(Array(0)) Console.WriteLine(Array(1)) End Sub End Module |
result
1
2
こんな感じですね。でも、2つとか3つの値で配列を定義するのもめんどくさいですよね。
そういう時にタプルを覚えておくと簡単に定義できるので、おすすめです。
下記にタプルを使った例を記述します。
タプルを使った例
1 2 3 4 5 6 7 8 9 |
Imports System Module Program Sub Main(args As String()) Dim tapple As (Integer, Integer) = (1, 2) Console.WriteLine(tapple.Item1) Console.WriteLine(tapple.Item2) End Sub End Module |
result
1
2
簡単に使うことができますね。かっこで型を囲むだけで定義できます。
値を取り出す時はItem1、Item2のように指定するだけで取り出すことが出来ます。
下記のようにタプルの各変数に名前を付けることも可能です。付けた名前を指定してあげれば、取り出すことができます。
タプルを使った例
1 2 3 4 5 6 7 8 9 |
Imports System Module Program Sub Main(args As String()) Dim tapple As (x As Integer, y As Integer) = (1, 2) Console.WriteLine(tapple.x) Console.WriteLine(tapple.y) End Sub End Module |
タプル内に別の型を指定することも可能です。
タプルを使った例
1 2 3 4 5 6 7 8 9 |
Imports System Module Program Sub Main(args As String()) Dim tapple As (Integer, String) = (1, "Rockman") Console.WriteLine(tapple.Item1) Console.WriteLine(tapple.Item2) End Sub End Module |
result
1
rockman
C#のエンジニアであれば、絶対買ってほしい本2選
C#の初心者にオススメ!基本はこの本で抑えよう!
Linqの使い方が沢山載っている。中級者以上の方にオススメ!
タプルの便利な点
この性質からメソッドの返り値を複数個にしたい時にとても強力です。
下記のように、2つの引数を渡すと足し算と引き算した結果を返してくれるメソッドがあるとします。
足し算引き算メソッド例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Imports System Module Program Sub Main(args As String()) Dim calc = New Calc() Dim result = calc.AddSub(3, 2) Console.WriteLine(result(0)) Console.WriteLine(result(1)) End Sub End Module Class Calc Public Function AddSub(x As Integer, y As Integer) As Integer() Dim result(2) As Integer result(0) = x + y result(1) = x - y Return result End Function End Class |
配列を使うのって気が引けますよね。また、返したい型が違えば値を返すことができません。
そんな時にタプルを使いましょう。おまけにString型の変数も追加しました。
タプルを使用した足し算引き算メソッド例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Imports System Module Program Sub Main(args As String()) Dim calc = New Calc() Dim result = calc.AddSub(3, 2) Console.WriteLine(result.Item1) Console.WriteLine(result.Item2) Console.WriteLine(result.Item3) End Sub End Module Class Calc Public Function AddSub(x As Integer, y As Integer) As (Integer, Integer, String) Dim result As (Integer, Integer, String) result.Item1 = x + y result.Item2 = x - y result.Item3 = "result" Return result End Function End Class |
result
5
1
result
この例だけで、かなり便利なことが伝わったと思います。

[/st-flexbox]
まとめ
今回はタプルについて、解説をしました。複数個の値を返したい時などにとても便利なので、覚えておきましょう。
結構使える場面があると思います。
最後まで記事を読んで頂き有難うございます。他の記事も是非よんでくださいね。

プログラミング能力を上げたい方は是非オンラインのプログラミング教室も検討してみてくださいね!!
一人で独学をするよりもプロからオンラインでプログラミングを教えてもらった方が10倍は効率いいです!!
私が厳選したオススメのオンライン教室を貼っておきます!!どちら共、エンジニアとしての就職までサポートしてくれる素晴らしい教室です。キャリアなどの個別相談は無料ですよ!!
申し込みは完全無料!未経験でITエンジニアを目指したい方にオススメ!
Webエンジニアになりたい方にオススメ!個別相談は無料!
