gpt4 book ai didi

c# - 泛型——需要说明

转载 作者:太空宇宙 更新时间:2023-11-03 17:46:59 24 4
gpt4 key购买 nike

当我们声明(示例)List<T>我能理解声明,但假设我声明

IEnumerable<T<T1, T2>>

我实际上声明了什么?

  1. 这是否意味着,IEnumerable<T>包含两个通用类型? (使用方法是什么?)

  2. 我可以有像Person<T<T2<T3<P1,P2>>>>这样的深层嵌套吗? ?

简单的例子会很有帮助。

最佳答案

如果你有课

public class Pair<T1, T2> { ... }

然后你可以声明一个方法

IEnumerable<Pair<int, string>> GetPairs();

即一种返回可枚举对的方法,其中每对由一个 int 和一个字符串组成。

用法:

foreach (Pair<int, string> pair in GetPairs()) { ... }

你也可以深度嵌套这些:

IEnumerable<Pair<int, Pair<string, string>>> GetPairs();

即一种返回可枚举对的方法,其中每对由一个 int 和一对两个字符串组成。

这也适用于泛型:

IEnumerable<Pair<T1, T2>> GetPairs<T1, T2>();

即返回可枚举对的方法,其中每对由 T1 和 T2 组成。

但是你不能这样做:

IEnumerable<T<T1, T2>> GetGenericPairs<T, T1, T2>();

关于c# - 泛型——需要说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1716132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com