第131回 タプルを使ってメソッドの戻り値を複数返す

公開日:2015-01-25 更新日:2019-05-11

1. 概要

独り言によるプログラミング講座、「第131回 タプルを使ってメソッドの戻り値を複数返す」です。
タプル(Tuple)を使うと、異なる型の複数のオブジェクトを1つまとめることができます。
複数の戻り値を返すメソッド(関数)の場合、タプルを使用して返すと、戻り値がわかりやすくなります。
動画では、Int32.TryParse() の戻り値をタプルにして説明しています。

2. 動画



3. 動画中に書いたソース

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //★独り言によるプログラミング講座

            //■タプルを使ってメソッドの戻り値を複数返す

            /*
            int value;
            bool result = Int32.TryParse("123", out value);
            if (result == false)
            {
                value = -1;
            }

            MessageBox.Show(value.ToString());
            */

            Tuple<bool,int> result = TryParse("123");
            if (result.Item1 == false){
                //失敗
                MessageBox.Show("Error");
            } else {
                //成功
                MessageBox.Show(result.Item2.ToString());
            }

            this.Dispose();
        }
        
        Tuple<bool,int> TryParse(string s)
        {
            int value;
            bool result = Int32.TryParse(s, out value);

            return Tuple.Create(result, value);
        }
    }
}