重新调整数组长度
时间:2010-09-02 来源:让大家开心的人
public static Array Redim(Array origArray, Int32 desizedSize)
{
//确认每个元素的类型
Type t = origArray.GetType().GetElementType();
//创建一个含有期望元素个数的新数组
//新数组的类型必须匹配数组的类型
Array newArray = Array.CreateInstance(t,desizedSize);
//将原数组中的元素拷贝到新数组中.www.qichepeijian.com。
Array.Copy(origArray,0,newArray,0,Math.Min(origArray.Length,desizedSize));
//返回新数组
return newArray;
}
public static void memset(byte[] buf, byte val, int size)
{
int i;
for (i = 0; i < size; i++)
buf[i] = val;
}
private void button1_Click(object sender, EventArgs e)
{
byte[] arr = new byte[65536];
memset(arr, 0, 65536);
//string [] arr = new string[] {"1","2","3"};
foreach(byte x in arr)
{
richTextBox1.AppendText(x + " ");
}
richTextBox1.AppendText("-----------------------------------"+"\n");
//重新调整数组长度使其包含5个元素
arr = (byte[])Redim(arr, 5);
foreach (byte x in arr)
{
richTextBox1.AppendText(x + " ");
}
richTextBox1.AppendText("-----------------------------------" + "\n");
//arr = (Int32[])Redim(arr, 10);
//foreach (Int32 x in arr)
//{
// richTextBox1.AppendText(x + " ");
//}
}