Searches for the specified object and returns the index of the first occurrence within the entire one-dimensional System.Array.
//Microsoft Public License (Ms-PL) //http://visualizer.codeplex.com/license using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Redwerb.BizArk.Core.ArrayExt { /// <summary> /// Provides extension methods for string arrays. /// </summary> public static class ArrayExt { /// <summary> /// Searches for the specified object and returns the index of the first occurrence /// within the entire one-dimensional System.Array. /// </summary> /// <param name="arr">The one-dimensional System.Array to search.</param> /// <param name="val">The object to locate in array.</param> /// <returns> /// The index of the first occurrence of value within the entire array, if found; /// otherwise, the lower bound of the array minus 1. /// </returns> /// <exception cref="System.ArgumentNullException">arr is null</exception> /// <exception cref="System.RankException">arr is multidimensional.</exception> public static int IndexOf(this Array arr, object val) { return Array.IndexOf(arr, val); } /// <summary> /// Determines if the array contains the given value. /// </summary> /// <param name="arr">The one-dimensional System.Array to search.</param> /// <param name="val">The object to locate in array.</param> /// <returns> /// </returns> /// <exception cref="System.ArgumentNullException">arr is null</exception> /// <exception cref="System.RankException">arr is multidimensional.</exception> public static bool Contains(this Array arr, object val) { if (Array.IndexOf(arr, val) < arr.GetLowerBound(0)) return false; else return true; } /// <summary> /// Copies the array to a new array of the same type. /// </summary> /// <param name="arr"></param> /// <returns></returns> public static Array Copy(this Array arr) { var newArr = Array.CreateInstance(arr.GetType().GetElementType(), arr.Length); arr.CopyTo(newArr, 0); return newArr; } } }