模板结构内的模板结构

本文关键字:结构 | 更新日期: 2023-09-27 18:36:12

我有一个看起来像这样的结构:

public struct Pair<T,U> {
    public readonly T Fst;
    public readonly U Snd;
    public Pair(T fst, U snd) {
        this.Fst = fst;
        this.Snd = snd;
    }
    public override String ToString() {
        return "(" + Fst +", " + Snd + ")";
    }
}

现在我需要声明类型Pair<Pair<int,int>, String>的变量"约会"。

  1. 如何初始化它?
  2. 如何访问约会。Fst.Snd?(其类型应为 int)

模板结构内的模板结构

我不确定问题出在哪里。这不行吗?

Pair<Pair<int, int>, string> s = new Pair<Pair<int, int>, string>(new Pair<int, int>(5, 10), "hello");
 Console.WriteLine(s.Fst.Snd);
初始化

可以这样完成

Pair<Pair<int, int>, String> appt = new Pair<Pair<int, int>, string>(new Pair<int,int>(1,3),"test");

然后,您可以访问:

appt.Fst; // type pair<int,int>
appt.Snd; // type string
appt.Fst.Snd; // type int