c#中一个函数返回多个值的方法

//一个函数返回多个值的方法
private static Tuple<int,string,string,string> 医嘱条数及字符串(string patient_id,string times)
        {
            database db = new database();
            string select = "select * from medicaldocument_2022 where patient_id='" + patient_id + "' and times='" + times + "' order by 医嘱日期时间";

            //int tiao = 0;
            SqlDataReader dr;
            db.runsql(select, out dr);
            int t = 0;
            string yizhu = null;
            string date = null;
            string time = null;

            while (dr.Read())
            {
                //tiao = tiao + 1;
                date = date + dr[5].ToString();
                time = time + dr[6].ToString();
                for (int i = 1; i <= 10; i++)
                {
                    string 医嘱i = dr[i + 6].ToString();
                    if (医嘱i != "")
                    {
                        t = t + 1;
                        yizhu = yizhu + "-" + 医嘱i;
                        date = date + "*";
                        time = time + "*";

                    }
                }
            }
            dr.Close();
            Tuple<int,string,string,string> tup = new Tuple<int,string,string,string>(t,yizhu,date,time);
            return tup;
        }
//调用函数的方法
var zifu = 医嘱条数及字符串(patient_id.Text,times.Text);
            yizhu = zifu.Item2;
            date = zifu.Item3;
            time = zifu.Item4;

这是啥,博客吗
有out关键字可以用,为什么不用呢