Замена многомерного массива списком (List) - C#
Формулировка задачи:
Помогите с реализацией замены многомерного массива списком(List).
Решение задачи: «Замена многомерного массива списком (List)»
textual
Листинг программы
using System; using System.Collections.Generic; namespace ConsoleApplication170 { class Program { static void Main(string[] args) { var array = new MultDimArray<int>(3, 4, 5); // трехмерный массив 3 x 4 x 5 array[2, 3, 4] = 15; var v = array[2, 3, 4]; Console.WriteLine(v); Console.ReadLine(); } } class MultDimArray<T> { private List<T> list; private int[] dimensions; public MultDimArray(params int[] dimensions) { this.dimensions = dimensions; var count = 1; for (int i = 0; i < dimensions.Length; i++) count *= dimensions[i]; list = new List<T>(count); for (int i = 0; i < count; i++) list.Add(default(T)); } int GetSignature(int[] indexes) { var res = indexes[0]; for(int i=1;i<dimensions.Length;i++) res = res * dimensions[i] + indexes[i]; return res; } public T this[params int[] indexes] { get { return list[GetSignature(indexes)]; } set { list[GetSignature(indexes)] = value; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д