私は拡張メソッドを作成するたびに、IList
と配列コレクション[]
を実装するもので、異なるコレクションで使用したいいくつかの拡張メソッドを作成しています。私はIEnumerable
を使用傾けるよう両方一般的な拡張メソッドC#
public static IList<T> Shuffle<T>(this IList<T> inputCollection)
{
}
public static T[] Shuffle<T>(this T[] inputCollection)
{
}
のために働くことができます私の方法のほとんどは、インデックスとの作業を必要と私はちょうど1拡張メソッドを記述し、所望のコレクションの両方のためにそれを使用することができますいくつかの他の方法はありますか?また、時々私はもう一つの方法であるstring
を使用します。
新しいコレクションを返す場合は、IEnumerable <>で十分です。しかし、確かにICollection <>が正しい風味であるように、実際にはそうしたくないのです。 –
配列には 'IList'が実装されているので、実装に応じてそれらのうちのどれか一つが必要ないかもしれません。 –
オプション1は両方の配列で実装された非永続的な 'IList'インターフェースを使用し、' List 'を使用します。もう一つのオプションはIListを実装する配列用のラッパーを作成することですが、ラッパー(配列).ListExtMethod() ' –
csharpfolk