11

ジェネリックで「T」を使用する理由はありますか? 何かの略ですか?私の知る限り、すべてが機能します。例えば

public G Say<G>(){ ... }

あるいは

public Hello Say<Hello>(){ ... }
4

8 に答える 8

32

T はタイプです。しかし、それは単なる伝統であり、他の名前を使用することを妨げるものは何もありません. たとえば、一般的な辞書では<TKey, TValue>.

単一の型パラメーターがある場合は文字Tを使用し、複数ある場合は説明的なパラメーター名の前にTを使用することを推奨するMicrosoft のガイドラインもあります。そうすることで、コード全体でより一貫した感覚が得られます。

于 2008-12-17T09:02:36.550 に答える
8

あなたが言ったように、タイプのTはすべてうまくいきますが、その場所にTを入れると、それがジェネリックタイプであることを思い出させます。

于 2008-12-17T08:56:17.827 に答える
7

I は慣習的に .NET のインターフェイスに使用され、他の環境では C がクラスに使用されることがあるように、これは単に簡略化したものです (Delphi はこれを使用します、IIRC)。

通常、「T」はそれ自体で「このコンテキストの単一の型パラメーター」を意味し、複数の型パラメーターがある場合は、T プレフィックスを取得しますDictionary<TKey, TValue>。コードを読んでいるときに、特定の具象型ではなく型パラメーターであることが明らかになります。

于 2008-12-17T08:58:25.170 に答える
4

ああ、私は T を Thing と考えていただろう :)

于 2008-12-17T08:58:06.887 に答える
2

C++ テンプレートはほとんどの場合 T を使用し、ジェネリック プログラミングに使用される場合、ジェネリックは C++ のテンプレートと機能が似ているため、少し伝統もあるかもしれません。

于 2008-12-17T10:03:36.833 に答える
1

ジェネリック型が何か特別なものを表している場合は、より正確にすることができます..通常、前に T : IRepository<TEntity>, SomeCollection<TItem, TComparer>..

于 2008-12-17T10:14:04.533 に答える
0

C++ で初めて登場したので、Template の T だと思いました。

于 2009-03-15T12:50:13.880 に答える
0

タイプの T

また、E は非常に一般的な Element にも使用されます。そうです、Gも機能します。

于 2008-12-17T08:58:56.743 に答える