private static void InitializeArray(Array array, IField field) { var elemType = array.GetType().GetElementType(); var vals = CLR.ReadArrayValues(field, Type.GetTypeCode(elemType)); if (array.Rank == 1) { int n = vals.Count; for (int i = 0; i < n; ++i) { array.SetValue(vals[i], i); } } else { int i = 0; var it = new ArrayIterator(array); while (it.MoveNext()) { array.SetValue(vals[i], it.Indices); i++; } } }