среда, 6 февраля 2013 г.

Изменение размеренности массива. Redim.

 

Изменение размеренности массива.

   1:  
   2: using System;
   3: namespace Utils.Collections.Array
   4: {
   5:  public class 
   6: arrayExt
   7:  {
   8:  
   9: public static System.Array Redim(System.Array origArray, Int32 
  10: desiredSize)
  11:  
  12: {
  13:  
  14: //Определяем тип элемента 
  15: массива.
  16:  
  17: Type t = 
  18: origArray.GetType().GetElementType();
  19:  
  20: //Создаем новый массив с требуемым числом 
  21: элементов.
  22:  
  23: //Тип массива должен совпадать с типом исходного 
  24: массива.
  25:  
  26: System.Array newArray = System.Array.CreateInstance(t, 
  27: desiredSize);
  28:  
  29: //Копируем элементы из исходного массива в новый 
  30: массив.
  31:  
  32: System.Array.Copy(origArray, 
  33: 0,
  34:  
  35: newArray, 0, Math.Min(origArray.Length, 
  36: desiredSize));
  37:  
  38: //Возвращаем новый 
  39: массив,
  40:  
  41: return newArray;
  42:  
  43: }
  44:  }
  45: }

Комментариев нет:

Отправить комментарий