0

このSystem.Console型は、WriteLineメソッドのオーバーロードされたバージョンをいくつか提供します (ブール値Char、、、Int32)

したがって、基本的に、この文は、さまざまなプリミティブ型に対して Writeline を実装するときに、関数を数回オーバーロードしたと言っています。さまざまなタイプの非常に多くの関数を作成する代わりに、ジェネリック/テンプレートを使用しないのはなぜですか?

C ++の場合、そのようなシナリオでのテンプレート化は、同様の関数のオーバーロードされたバージョンと比較してより良いソリューションであると思います. ここのインセンティブがわからない。

次の行: 一般的な値の型のボックス化操作の数を減らすことのみを目的として ...

これらはどのようにボクシング カウントを減らしますか? ToString?を呼び出す代わりに文字列を直接構築する

4

2 に答える 2

6

ジェネリックは 2005 年に導入されましたが、これらのメソッドは以前から利用可能でした。彼らはまだそれらを追加することができますが、それは面倒なことではないと思います.

于 2013-06-27T01:54:44.043 に答える
0

Marco が言うように、オーバーロードは Generics よりも前から存在します。

私の直感では、ボックス操作を削除することによるパフォーマンスの向上は、コンソールを処理するコストと比較して無視できる可能性が高いとも言えます。これは、バッファリングが原因で発生するブロッキングに特に当てはまります。

于 2013-06-27T02:59:05.710 に答える