オブジェクトをシーケンスとして返す拡張メソッド
単一のオブジェクトからシーケンスを作成したい場合ありますよね。引数にシーケンスを取る関数に渡すとか、単一オブジェクトもコレクションも同じ処理をしたいとか…。
なので、こんな拡張メソッドを作っとくと便利かも。Enumerable のメンバとしてほしいくらい !
namespace ExtensionMethods { static class EnumerableExtension { public static IEnumerable<TSource> ToSequence<TSource> (this TSource source) { yield return source; } } class Person { static void Main (string [] args) { var person = new Person (); IEnumerable<Person> people = person.ToSequence (); } } }
標準にないのかな…。
-------------
IEnumerable<Person> people = Enumerable.Repeat (person, 1);
ならありますね。
トラックバック
- このエントリーにトラックバック:
- http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/2335
コメント