public static unsafe void *LastElement(this UnmanagedArrayBase array)
        {
            var last = (void *)(array.Header + (array.ByteLength - array.ByteLength / array.Length));

            return(last);
        }
        /// <summary>
        /// 获取非托管数组的最后一个元素的地址再向后一个单位的地址。
        /// </summary>
        /// <param name="array"></param>
        /// <returns></returns>
        public static unsafe void *TailAddress(this UnmanagedArrayBase array)
        {
            var tail = (void *)(array.Header + array.ByteLength);

            return(tail);
        }
        ///// <summary>
        ///// 错误	1	无法获取托管类型(“T”)的地址和大小,或无法声明指向它的指针	C:\Users\威\Documents\GitHub\CSharpGL\Utilities\UnmanagedArrayHelper.cs	16	33	Utilities
        ///// </summary>
        ///// <typeparam name="T"></typeparam>
        ///// <param name="array"></param>
        ///// <returns></returns>
        //public static unsafe T* FirstElement<T>(this UnmanagedArray<T> array) where T : struct
        //{
        //    var header = (void*)array.Header;
        //    return (T*)header;
        //}

        /// <summary>
        /// 获取非托管数组的第一个元素的地址。
        /// </summary>
        /// <param name="array"></param>
        /// <returns></returns>
        public static unsafe void *FirstElement(this UnmanagedArrayBase array)
        {
            var header = (void *)array.Header;

            return(header);
        }