栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

元组(或数组)作为C#中的字典键

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

元组(或数组)作为C#中的字典键

如果您使用的是.NET 4.0,请使用元组:

lookup = new Dictionary<Tuple<TypeA, TypeB, TypeC>, string>();

如果不是,则可以定义一个元组并将其用作键。元组需要重写GetHashCode,Equals和IEquatable:

struct Tuple<T, U, W> : IEquatable<Tuple<T,U,W>>{    readonly T first;    readonly U second;    readonly W third;    public Tuple(T first, U second, W third)    {        this.first = first;        this.second = second;        this.third = third;    }    public T First { get { return first; } }    public U Second { get { return second; } }    public W Third { get { return third; } }    public override int GetHashCode()    {        return first.GetHashCode() ^ second.GetHashCode() ^ third.GetHashCode();    }    public override bool Equals(object obj)    {        if (obj == null || GetType() != obj.GetType())        { return false;        }        return Equals((Tuple<T, U, W>)obj);    }    public bool Equals(Tuple<T, U, W> other)    {        return other.first.Equals(first) && other.second.Equals(second) && other.third.Equals(third);    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/426307.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号