Можно ли создать свойство, имитирующее массив? - PullRequest
1 голос
/ 16 марта 2019

У меня есть массив структур, и я хочу создать свойство, которое не является конкретно массивом, но имитирует массив, так как оно возвращает определенное свойство определенного элемента массива структуры.Что-то вроде

using System;
namespace neuralNet {
    private struct neuralLayers {
        public double[] results;
        //other fields
    }
    public int numNeurons[int i] {get { return neuralLayers[i].results.length; }}
}

Так что это свойство, которое имитирует эффекты int [] без фактического создания объекта.Есть способ сделать это?В настоящее время у меня есть свойство int[] numNeurons, которое поддерживается отдельно от самой структуры, но я бы предпочел просто получить доступ к длине запрашиваемого элемента напрямую.

1 Ответ

2 голосов
/ 16 марта 2019

Звучит так, как будто вы хотите иметь свойство, которое возвращает массив, содержащий длины каждого поля myStruct.structField массива из вашего массива myStruct объектов.

Если это так, то вы можете просто сделать:

public int[] StructFieldLength => classField?.Select(c => c.structField.Length).ToArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...