23
IList <の文字列>を使用して、文字列配列(String []型)の値をオブジェクトに追加するだけの状況です。 MSDNのクイックルックアップにより、IList <T>のInsertメソッドは、インデックスとオブジェクトTをとり、Tの代わりにIEnumerable <T>を持つバージョンしかないことが明らかになりました。宛先リストに値を入れるために入力リストにループを書く必要がありますか?そうだとすれば、私にとっては非常に限定的で、むしろ非常に非友好的なAPIデザインのようです。たぶん、私は何かを欠いている。この場合、C#の専門家は何をしますか?IList <T>にIEnumerableを取るInsertメソッドがない理由<T>?
は、あなたがそれを行うことができますが、そのは、そのリスクを持っているあなたはAddRangeを呼び出すとき、あなたは基礎となるオブジェクトは、それが範囲で動作していることをいくつか理解していることを期待することがあります。
IList<T>
は今AddRange
を持っています。データバインディングのシナリオでは、これにより1つのイベントで十分であったシナリオで何千ものイベントが発生する可能性があります。 @Sam; –;確かに; IListを使用して行うことができるのが最善です。もちろん、補償する方法があります... –
答えをくれてありがとうMarc。私はまだインターフェイスが、リストを別のリストに追加することがそのような共通の操作であることを考慮して、実装性の容易さ以上にユーザビリティが重視されるように設計されるべきであると感じています。とにかく、この場合は拡張メソッドがうまく機能するので、大騒ぎにはならないかもしれません。 – Kei