检查数组的当前值,C#
我创建了一个预定义长度为2的数组。我有一个向数组添加项目的方法。检查数组的当前值,C#
它的代码是:
public void addItem(T item)
{
Array.Resize(ref items, items.Count() + 2);
items[items.Count() - 2] = item;
}
现在,我想要做的是,它首先必须检查数组的大小,看看数组充满了不。如果数组已满,则应该使数组大小加倍。如果它不满,那么它不应该做任何事情。所以,我想知道我是否可以用if语句使这成为可能?
编辑:我写的集合类,这就是为什么我需要检查阵列
你真的应该熟悉它已经默认使用此功能List<T>
:
List.Add
例如调用EnsureCapacity
:
private void EnsureCapacity(int min)
{
if (this._items.Length < min)
{
int num = (this._items.Length == 0) ? 4 : (this._items.Length * 2);
if (num < min)
{
num = min;
}
this.Capacity = num;
}
}
是的,但我正在写一个集合类,我不允许使用通用集合 – user2167085 2013-03-14 09:17:24
所以这个作业。好的,但不清楚你实际存在什么问题。你可以看一下'List
你应该知道,你没有学到任何东西,如果你不自己
0做功课但尝试这样的事:
如果计数>尺寸-2 比调整:尺寸* 2 //别的什么也不做
也许你可以添加一个功能,如: 如果计数<大小/ 4 比移项前和调整:尺寸/ 2 别的什么//
希望这个建议是对您有用
听起来像你重新发明['名单'](http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx)class?请问为什么? –
2013-03-14 09:14:10
为什么不使用'List'这个功能是否已经内置? –
2013-03-14 09:14:22
创新*是一个严肃的业务 – Sergio 2013-03-14 09:15:10