日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。番外編「System.Reactive.Linq.Observableのメソッド一覧とメモ」はじめに今回は、はるか昔「その8」や「その9」で紹介したSkipとTake系のメソッドの仲間のSkipLastとTakeLastについて紹介します。前にやらなかったかというと忘れてましたはい。SkipLastとTakeLastメソッドここでは、SkipLastメソッドとTakeLastメソッドについて説明します。SkipLastメソッドとTakeLastメソッドは名前が示す通りIObservableのシーケンスの最後から指定した数の値をSkipしたりTakeしたりするメソッドです。メソッドのシグネチャは下記に示す通り、どちらも何個の値をSkipするのかTakeするのかを指定する数を渡します。count);SkipLastメソッドの使用例を下記に示します。Console.WriteLine("OnCompleted()"));このコードは、1〜10の値を発行して最後の3つの値をSkipしています。実行結果を以下に示します。8,9,10の最後の3つの値が表示されていないことが確認できます。OnNext(1)OnNext(2)OnNext(3)OnNext(4)OnNext(5)OnNext(6)OnNext(7)OnCompleted()次にTakeLastメソッドの使用例を下記に示します。Console.WriteLine("OnCompleted()"));このコードは、1〜10の値を発行して最後の3つを拾っています。実行結果を以下に示します。SkipLastの例では飛ばされていた8,9,10が表示されていることが確認できます。OnNext(8)OnNext(9)OnNext(10)OnCompleted()|このように、SkipLastメソッドとTakeLastメソッドを使うことでIObservableのシーケンスの最後を起点にしてSkipしたりTakeをすることが出来ます。そのため、永遠に終わらないIObservableのシーケンスに対して、このメソッドを呼び出すと永遠に結果が返ってこないので注意が必要です。C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。Blogの内容は個人の見解であり、所属する企業を代表するものではありません。)はてなブログをはじめよう!okazukiさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。