C# - 设置数组大小

时间:2014-11-09 14:59:46

标签: c# arrays

我试图创建一个包含数组的新类,但它的大小不应该是常量。

我们说我有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 ...

我希望它有意义......

谢谢! : - )

3 个答案:

答案 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);