是否可以创建一个模拟数组的属性?

问题描述 投票:1回答:1

我有一个结构数组,我想创建一个不是特定数组的属性,但模拟一个数组,它返回struct数组的某个元素的特定属性。就像是

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属性,它与结构本身保持独立,但我宁愿直接访问所请求元素的长度。

c# arrays properties
1个回答
2
投票

听起来你想要的是拥有一个属性,该属性返回一个数组,其中包含myStruct.structField对象数组中每个myStruct数组字段的长度。

如果是这种情况,那么你可以这样做:

public int[] StructFieldLength => classField?.Select(c => c.structField.Length).ToArray();
© www.soinside.com 2019 - 2024. All rights reserved.