Пример #1
0
 /// <summary>
 /// Copies data of <paramref>me</paramref> into a new array.
 /// </summary>
 /// <param name="me">Collection to copy data from.</param>
 /// <returns>A new array containing the data from <paramref>me</paramref>.</returns>
 public static T[] ToArray <T>(this IArrayCopyable <T> me)
 {
     T[] result;
     if (me.NotNull())
     {
         result = new T[me.Count];
         if (!me.CopyTo(result))
         {
             result = null;
         }
     }
     else
     {
         result = null;
     }
     return(result);
 }
Пример #2
0
 /// <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());
 }