/// <summary> /// Clones the whole array into new one. /// </summary> /// <returns>Newly array with filled values.</returns> public CustomArray <T> Clone() { if (!Any()) { return(new CustomArray <T>(Length)); } var newArray = new CustomArray <T>(Length); for (int i = 0; i < newArray.Length; i++) { newArray[i] = array[i]; } return(newArray); }
/// <summary> /// Returns newly array with elements that meet a given condition. /// </summary> /// <param name="predicate">Defines the conditions of the element to search for.</param> /// <returns>Newly array with elements.</returns> public CustomArray <T> FindAll(Func <T, bool> predicate) { if (!Any()) { return(new CustomArray <T>(0)); } var tempArr = array.Where(predicate).ToArray(); var newlyArray = new CustomArray <T>(tempArr.Length); for (int i = 0; i < tempArr.Length; i++) { newlyArray[i] = tempArr[i]; } return(newlyArray); }