Пример #1
0
        /// <summary>
        /// Create a filtered array.
        /// </summary>
        public static T[] Where <T>(this T[] array, Func <T, bool> predicate)
        {
            if ((array == null) || (array.Length == 0))
            {
                return(array);
            }
            ArrayList <T> list = null;

            foreach (var item in array)
            {
                if (predicate(item))
                {
                    if (list == null)
                    {
                        list = new ArrayList <T>(array.Length);
                    }
                    list.Add(item);
                }
            }
            var elementType = array.GetType().JavaGetComponentType();

            if (list == null)
            {
                return((T[])Array.NewInstance(elementType, 0));
            }
            return(list.ToArray((T[])Array.NewInstance(elementType, list.Count)));
        }