0

操作しているタイプの値を返す関数を実装したいと思います。どうすればこれを達成できますか?

例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);
}
4

2 に答える 2

7

return-type と variable-type の両方が既にであるためT、これは次のとおりです。

return temp;

または、キャストするには (ただし、ここでは必要ありません):

return (T) temp;

しかし、実際には、IMO の「スワップ」はvoid戻ってくるはずです。

于 2012-05-12T07:56:47.777 に答える
0

これをジェネリックにするのは意味がありません:

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

ランダムな "T" とはどういう意味ですか? T が「Person」型であると仮定すると、ランダムな Person を返すとはどういう意味ですか? 一般的な GetRandom メソッドを使用することには、何の論理もないようです。

整数が必要な場合は、戻り値の型として int を指定してください。

public override int GetRandom()
{
    return  _random.Next(_min, _max); 
}
于 2012-05-12T08:50:05.970 に答える