我试图创建一个包含数组的新类,但它的大小不应该是常量。
我们说我有Program.cs,我有一个名为Category.cs的不同类。
Category.cs看起来像这样:
class Category
{
static int MemberCount = 2;
private string[] ids = new string[MemberCount];
public string[] Ids
{
get { return ids; }
set { ids = value; }
}
...
我的目标是在从此类创建新对象时以某种方式修改MemberCount ...
我希望它有意义......
谢谢! : - )
答案 0 :(得分:1)
假设您确实需要/需要使用长度固定在对象构造时间的数组(而不是在注释中明智地建议List<T>
),您可以添加构造函数:
class Category
{
private readonly string[] ids;
public string[] Ids
{
get { return ids; }
}
public Category(int memberCount) {
ids = new string[memberCount];
}
}
请注意,我已删除Ids
属性上的setter,否则可以使用任意长度覆盖该数组。同样,我已经ids
只读了一次。
答案 1 :(得分:0)
使用generic list或其他集合类。
class Category
{
public List<string> Ids { get; set; }
Category()
{
Ids = new List<string>();
}
}
答案 2 :(得分:0)
您可以使用此method调整阵列大小: Array.Resize(ref ids,newSizeOfArray);