C# 使用Tuple传递多个参数 |返回多个值 |返回多个参数



Tuple是基于.NET Framework 4.0 及以上版本才有的。微软称它为元组,如果有三个参数那就是三元组。如 Tuple(T1, T2, T3)

Tuple的命名空间在 System 很短吧,也就是说只要是基于.NET Framework 4.0 及以上版本的,创建项目就可以直接在Visual Studio中敲出来。

程序集: mscorlib(在 mscorlib.dll 中)

 

为什么要使用Tuple

来!先看看下面这个方法。

public bool MyMethod(out string msg)
{
    msg = "www.wxzzz.com";
    return true;
}

这个方法很简单,意图就是返回两个参数。这个是我们经常遇见的一个情况,为了返回两个或者多个参数而使用多个out..显然使用起来挺麻烦的

也许有朋友说使用如下类似的代码不就可以了?

public object[] MyMethod();
{
    //调用
    object[] array = MyMethod();
    bool a = (int)obj[0];
    string b = (string)obj[1];
}

这样就会引起装箱拆箱的问题,效率就要降低许多….如果是一个复杂的对象,装箱拆箱是非常耗时的,所以泛型正是为此而生。

使用Tuple传递多个参数

Tuple提供了一共9个类,其实都是差不多的,只是参数不同。如下图所示

Tuple.jpguploading.4e448015.gif转存失败重新上传取消

其实Tuple有很多重载的类,最多可以传入8个参数。官方的建议是如果大于8个参数的话,第八个参数你可以传入Tuple。就是以Tuple包含Tuple的用法啦。

下面我们来看看如何使用Tuple返回4个参数吧。

 

public class HomeController : Controller
{       
    public ActionResult Index()
    {
        List<string> list=new List<string>();

        //接收TupleTest()方法的返回值
        Tuple<int, string, int, List<string>> result = TupleTest();

        int a = result.Item1;
        string b = result.Item2;
        int c = result.Item3;
        List<string> d = result.Item4;

        d.ForEach(r => list.Add(r));

        return View();
    }

    public Tuple<int, string, int, List<string>> TupleTest()
    {
        //返回了4个值
        return new Tuple<int, string, int, List<string>>(5, "中国", 6, new List<string>() { "美国"});
    }            
}

 

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值