C# 将数组作为类的字段进行求值?
我希望在类中有一个数组,可以由类本身的方法使用。我想用一个方法计算数组,然后用另一个方法读取,我如何用c#实现这一点?谢谢C# 将数组作为类的字段进行求值?,c#,C#,我希望在类中有一个数组,可以由类本身的方法使用。我想用一个方法计算数组,然后用另一个方法读取,我如何用c#实现这一点?谢谢 您披露的有关该问题的信息令人困惑(可能是因为语言障碍),但这是两个问题之一: 您试图从某物的上下文之外访问arrayName(与从另一个类中一样),问题在于arrayName的访问级别(默认访问级别为private)。如果需要与另一个类共享arrayName字段,则可以在其前面加上public,如下所示: 分类 { //假设您在某处定义了索引 public Double[]
您披露的有关该问题的信息令人困惑(可能是因为语言障碍),但这是两个问题之一:
某物
的上下文之外访问arrayName
(与从另一个类中一样),问题在于arrayName
的访问级别(默认访问级别为private
)。如果需要与另一个类共享arrayName
字段,则可以在其前面加上public
,如下所示:
分类
{
//假设您在某处定义了索引
public Double[]arrayName=new Double[20];
公开作废法()
{
arrayName[索引]=值;
索引++;
}
}index=20
(或21个元素)时,数组的大小就是这样。一旦下一次迭代发生,您将遇到一个IndexOutOfBoundsException
,因为数组中没有足够的空间容纳下一个元素List
,这类似于可变长度数组。其实施情况如下:
class Something
{
List<Double> listName = new List<Double>();
public void Method()
{
listName[index] = value;
index++;
}
}
分类
{
List listName=新列表();
公开作废法()
{
listName[索引]=值;
索引++;
}
}
但是,如果您无法更改集合类型(尽管如果需要此功能,我建议您这样做),如果
index
大于arrayName
的大小,您可以调整数组的大小。我可以提供一个例子(或者你可以通过简单的搜索找到其中一个),如果这是你想要的。你说的“用方法评估数组”是什么意思?在你的问题中添加了你评论中的代码(根据我对标准的偏好进行调整)如果我误传了,请调整。+1,即使带下划线;)@当然,作为惯例,我更喜欢在字段前面加上。
;“我个人不喜欢那个惯例,但这是品味的问题。”阿达姆罗宾森,出于兴趣,你喜欢什么惯例this.myField
?@souphianisus:恐怕语言障碍让人难以理解。您能否发布一些您尝试过的示例代码,并描述您得到的行为与您期望的行为?
public class Foo
{
private SomeType[] _someArrayField;
public void SomeMethod()
{
// you can access the _someArrayField field here
}
}
class Something
{
List<Double> listName = new List<Double>();
public void Method()
{
listName[index] = value;
index++;
}
}