/// <summary> /// Resizes the array to fit the new items and then adds to the new items. /// This edits the array in place. However, it also returns the array to provide one-line assignment capabilities. /// </summary> /// <typeparam name="T">The type the array holds.</typeparam> /// <param name="array">Extension method parameter for all arrays.</param> /// <param name="item1">An item to add.</param> /// <param name="items">The items to add.</param> /// <returns>The same array.</returns> public static T[] Add <T>(ref T[] array, T item1, params T[] items) { var position = array.Length; Array.Resize(ref array, position + 1 + (items?.Length ?? 0)); array.AddAt(position, item1); return(array.AddAt(position + 1, items)); }
/// <summary> /// Resizes the array to fit the new items and then adds to the new items. /// This edits the array in place. However, it also returns the array to provide one-line assignment capabilities. /// </summary> /// <typeparam name="T">The type the array holds.</typeparam> /// <param name="array">Extension method parameter for all arrays.</param> /// <param name="item1">An item to add.</param> /// <param name="item2">An item to add.</param> /// <param name="item3">An item to add.</param> /// <param name="item4">An item to add.</param> /// <param name="item5">An item to add.></param> /// <param name="items">The items to add.</param> /// <returns>The same array.</returns> public static T[] Add <T>(ref T[] array, T item1, T item2, T item3, T item4, T item5, params T[] items) { var position = array.Length; Array.Resize <T>(ref array, position + 5 + (items?.Length ?? 0)); array.AddAt(position, item1, item2, item3, item4, item5); return(array.AddAt(position + 5, items)); }