Дайте, у меня есть 3D-карта типа, длина и ширина которой одинаковы, но глубина неровная:
public class Map<T>
{
T[,][] map;
...
}
Каков наилучший способ вернуть одномерный массив всех объектов типакоторые существуют в объеме, определенном 2D-областью, и на всей глубине в этой области.Например, у меня может быть переопределение записи массива следующим образом:
public IEnumerable<T> this[Rectangle area]
{
get {...}
}
или просто
public IEnumerable<T> this[int x, int y, int width, int length]
{
get {...}
}
Я искренне надеюсь на быстрое решение LINQ, но производительность предпочтительнее, чем визуальная элегантностьрешение.Порядок объектов в возвращаемом плоском массиве не имеет значения.Если у кого-то есть какие-либо предложения или опыт в этом, пожалуйста, поделитесь своей мудростью.
В качестве альтернативы, если в моем распоряжении есть другая структура данных, которая может выполнять ту же функцию, о которой я не знаю, я с удовольствием воспользуюсь ею.1012 *
Если что-то по моему вопросу неясно, пожалуйста, попросите дополнительную информацию.