📄 myarraylist.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
namespace WindowsApplication1
{
public class MyArrayList<DataType>
{
public MyArrayList()
{
datas = new DataType[defaultMaxLength];
myCount = 0;
}
public MyArrayList(int maxLength)
{
datas = new DataType[maxLength];
myCount = 0;
}
public void Add(DataType data)
{
lock (syncObj)
{
if (Count >= MaxLength)
{
DataType[] newDatas = new DataType[2 * MaxLength];
Array.Copy(datas, newDatas, Count);
datas = newDatas;
}
datas[myCount++] = data;
}
}
public void AddRange(DataType[] array)
{
if (array != null)
{
for (int i = 0; i < array.Length; i++)
{
this.Add(array[i]);
}
}
}
public DataType[] GetArray()
{
lock (syncObj)
{
if (Count > 0)
{
DataType[] array = new DataType[Count];
Array.Copy(datas, 0, array, 0, Count);
return array;
}
else
{
return null;
}
}
}
public int Count
{
get
{
return myCount;
}
private set
{
}
}
public int MaxLength
{
get
{
return datas.Length;
}
}
//
private DataType[] datas;
private int myCount;
private const int defaultMaxLength = 20;
private object syncObj = new object();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -