具有泛型返回的泛型方法的格式

本文关键字:泛型方法 格式 返回 泛型 | 更新日期: 2023-09-27 18:34:00

我想实现一个函数,该函数返回它正在操作的类型的值。 请问我该如何完成此操作?

示例 1:

static T Swap<T>(ref T lhs, ref T rhs)
{
    T temp;
    temp = lhs;
    lhs = rhs;
    rhs = temp;
    return <T> temp;
}

示例 2:

public override T GetRandom()
{
    return  (T)_random.Next(_min, _max);
}

具有泛型返回的泛型方法的格式

由于返回类型和变量类型都已经T,这只是:

return temp;

或者,进行强制转换(但此处不需要):

return (T) temp;

不过,实际上,IMO 的"交换"应该void回报!

使

这个泛型是没有意义的:

public override T GetRandom()
{
     return  (T)_random.Next(_min, _max);
}

随机"T"是什么意思? 假设 T 的类型是"人",返回随机人是什么意思?拥有一个通用的GetRandom方法似乎没有任何逻辑。

如果你想要一个整数,只需指定 int 作为返回类型。

public override int GetRandom()
{
    return  _random.Next(_min, _max); 
}