If you’ve been following the Reactive Extensions for any time, you may have seen that the team utilized the duality between IEnumerable and IObservable to not only create parallel extension methods of the enumerable versions on IObservable, but they also created IEnumerable versions of the additional methods that they added to IObservable as well. This formerly was in the Interactive libraries that came as part of the Rx bits. When the version 1 release of Rx came out however, these IEnumerable extensions were not included as part of the shipping bits.
Yesterday Microsoft released the v1.1.10823 version of these extensions branded as Ix.Note that this is an Experimental release, which means that it is highly subject to change, so if you use it, be prepared to make changes as new versions are released. When you download and install it, you can find the binaries in your C:\Program Files (x86)\Microsoft Interactive Extensions SDK\v1.1.10823\ directory. The current release includes versions for .Net 3.5 and 4, Silverlight 4 and 5 and Windows Phone 7. Glancing at the methods added in the EnumerableEx class we can find the following:
- While, DoWhile
In addition, this release adds the System.Interactive.Async library including a set of extensions that allow you to turn Enumerables into AsyncEnumerables and perform the same sets of queries you could with IEnumerables and IObservables.
If you’re interested in these, make sure to keep an eye on the Rx team’s blog and Channel 9. Also, Bart talked about the System.Interactive extensions on Channel 9 in July. He also mentioned that the bits are also available on NuGet. Look for the Ix_Experimental-Main and Ix_Experimental-Providers packages.