/Test/Mono.Cecil.Tests/Linq.cs
http://github.com/jbevain/cecil · C# · 47 lines · 36 code · 11 blank · 0 comment · 3 complexity · 81d2c5ace0808103a747a8da34981915 MD5 · raw file
- using System;
- using System.Collections.Generic;
- using Mono;
- #if !NET_3_5 && !NET_4_0
- namespace System.Linq {
- static class Enumerable {
- public static IEnumerable<TRet> Select<TItem, TRet> (this IEnumerable<TItem> self, Func<TItem, TRet> selector)
- {
- foreach (var item in self)
- yield return selector (item);
- }
- public static IEnumerable<T> Where<T> (this IEnumerable<T> self, Func<T, bool> predicate)
- {
- foreach (var item in self)
- if (predicate (item))
- yield return item;
- }
- public static List<T> ToList<T> (this IEnumerable<T> self)
- {
- return new List<T> (self);
- }
- public static T [] ToArray<T> (this IEnumerable<T> self)
- {
- return self.ToList ().ToArray ();
- }
- public static T First<T> (this IEnumerable<T> self)
- {
- using (var enumerator = self.GetEnumerator ()) {
- if (!enumerator.MoveNext ())
- throw new InvalidOperationException ();
- return enumerator.Current;
- }
- }
- }
- }
- #endif