/// <summary> /// Extracts an array from <paramref>me</paramref>. Changing the resulting array may break <paramref>me</paramref>. /// </summary> /// <param name="me">Collection to extract array from.</param> /// <returns>The content of <paramref>me</paramref> as an array. It may or may not be a copy.</returns> public static T[] AsArray <T>(this IArrayCopyable <T> me) { return((me as IAsArray <T>)?.AsArray() ?? me.ToArray()); }