たとえばSystem.IO.Path.Combine
、.NET のメソッドには次のオーバーロードがあります。
Combine(params String[])
Combine(String, String)
Combine(String, String, String)
Combine(String, String, String, String)
最後の3つのポイントは何ですか?
最初のものはそれらをすべてカバーしますが、よく見るとparams
キーワードを使用しています。Combine(String, String)
.NET 4までの唯一のバージョンであったため、下位互換性の議論はバリアントのみを対象としています。
Combine
0または1つのパスセグメントで渡すことは意味をなさないparams
ことですが、バージョンではこれを行うことができます。