かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

Reactive Extensionsお題

1つ以上のIObservableからなる配列を渡された時、このIObservableから最後にSubscribeで受け取った値が全てtrueになったときはtrue, 1つでもfalseになったときはfalseになるIObservableを作り出したい。というので悩んでます。う〜ん。

public IObservable<bool> Convert(params IObservable<bool>[] observables)
{
    // ここの中身
}

// 追記
この記事を書いてすぐid:neueccさんから回答が。

public IObservable<bool> Convert(params IObservable<bool>[] observables)
{
    return observables.Aggregate((xs, ys) => xs.CombineLatest(ys, (a, b) => a && b));
}

流石日本のLINQ第一人者!