【发布时间】:2019-08-07 02:09:11
【问题描述】:
我有一个结构数组,我想创建一个不是特定数组的属性,而是模拟一个数组,因为它返回结构数组的某个元素的特定属性。类似的东西
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 属性,但我宁愿直接访问请求的元素的长度。
【问题讨论】:
-
@RufusL 这是一个方法,而不是一个属性
-
@RufusL 重点是您回答的问题与我提出的问题不同。但是您可以将数组指定为属性
int[] myProperty { get {return somArray;}},然后从该属性调用一个元素,例如int myElement = myProperty[index],因此索引已经可以传递给属性,我只想能够做到这一点而不必创建数组,就像在这种情况下一样,因为我要查找的元素是数组的长度,该数组是结构数组中的一个字段。 -
在上面的示例中,应该在某处定义了一个
class,其中包含neuralLayers数组(以及NumNeurons属性)。此外,您的代码不符合 C# 约定 - 它看起来非常 JavaScript-y。 :) -
@RufusL 哈哈,是的,你是对的,我现在还没有完全离开:-P
标签: c# arrays properties