예제 #1
0
        /// <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));
        }
예제 #2
0
        /// <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));
        }