我希望在类中有一个数组,可以通过类本身的方法使用。我想通过一种方法评估数组并通过另一种方法读取,我怎样才能用c#做到这一点?感谢
class Something
{
Double[] arrayName = new Double[20];
public void Method()
{
arrayName[index] = value;
index++;
}
}
答案 0 :(得分:2)
public class Foo
{
private SomeType[] _someArrayField;
public void SomeMethod()
{
// you can access the _someArrayField field here
}
}
答案 1 :(得分:0)
您披露的有关此问题的信息令人困惑(可能是因为语言障碍),但这是两个问题之一:
您尝试从arrayName
的上下文之外访问Something
(如同来自另一个类),问题是arrayName
的访问级别(默认访问级别为private
)。如果您需要与另一个类共享arrayName
字段,那么您可以在其前面添加public
,如下所示:
类什么的
{
//假设你在某处定义了index
public Double [] arrayName = new Double [20];
public void Method()
{
arrayName [index] = value;
索引++;
}
}
您正在尝试分配数组元素的值。您拥有的代码应该达到数组的大小,在您的情况下将是index = 20
(或21个元素)。一旦下一次迭代发生,您将遇到IndexOutOfBoundsException
,因为数组中没有足够的空间用于下一个元素。
我建议切换到类似于具有可变长度数组的List<Double>
。它的实现看起来像:
class Something
{
List<Double> listName = new List<Double>();
public void Method()
{
listName[index] = value;
index++;
}
}
但如果您无法更改集合类型(尽管如果您需要此功能我会建议),如果index
大于arrayName
,则可以调整数组大小。我可以提供一个例子(或者你可以通过一个简单的搜索找到其中一个)如果这最终成为你正在寻找的东西。