每日一学25——Unity C# Tuple元祖

学习来源:https://blog.csdn.net/mss359681091/article/details/80089620?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.nonecase

元祖第一种用法可以作为一些简单的(无函数)数据类的替代品。
我们经常会创建一些只有参数没有函数的类,用来做数据类,比如Person:

public class Person
{
    public string Name;
    public int Age;
    public bool Sex;
}

如果使用元祖呢就可以直接在使用类中定义一个Tuple变量:

using System;
using UnityEngine;

public class Test : MonoBehaviour
{
    Tuple<string, int, bool> person = new Tuple<string, int, bool>("小明", 12, false);

    private void Start()
    {
        Debug.Log(person.Item3);
    }
}

当然了,以上这种用法其实并不推荐,因为真正用起来的时候会出现person.Item3等这种没有意义的变量。

除了以上情况外,还会有一种情况,比如类的嵌套组合使用时,比如:

public class Person
{
    public string Name;
    public int Age;
    public bool Sex;
}
public class Student
{
    public Person Person;
    public int StudentID;
}

这时候使用Tuple代替Student类倒是有那么点意思:

using System;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{
    List<Tuple<Person, int>>
         Students = new List<Tuple<Person, int>>();
}

public class Person
{
    public string Name;
    public int Age;
    public bool Sex;
}

但是,以上两种情况,个人都是不推荐使用Tuple,主要还是因为参数无意义。


学习文章的末尾提到了:

如果你需要多个 key 值的字典,使用元组作为你的 key 值,一切会非常顺利。如果你需要在每个位置都具有多个值的列表,使用元组进行列表搜索,会工作的很好

可能是Tuple唯一的作用-。-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值