C# 重新给数组定义长度,怎么解决

dxpfigo 2012-05-11 01:56:45
比如,我新建了一个uint类型的数组arr,在第一次循环时我给数组arr定义3的长度,在第二次循环时想给数组arr定义4的长度,该怎么写呢??
...全文
1103 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rabbitlzx 2012-05-11
  • 打赏
  • 举报
回复
for (int i = 1; i < 3; ++i)
{
uint[] arr = new uint[ i + 2 ];
. . .
}

.NET自动提供垃圾回收机制,不需要你像c++那样显示的调用delete进行释放,其实上面的代码只是重新在堆上申请了一个长度为4的内存空间,原来长度为3的内存如果不被使用就会被.net自动回收了
rayyu1989 2012-05-11
  • 打赏
  • 举报
回复
arr= new uint(4){};
  • 打赏
  • 举报
回复
既然List<T>就是干那个功能的,何必纠结于数组?
AI观星台 2012-05-11
  • 打赏
  • 举报
回复
C# 是用垃圾收集机制来释放内存的,不像 C++ 那样必须手动用delete释放内存。
dxpfigo 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

用List,变长数组,

List<uint> arr=new List(3);

循环后,arr.Add(0);就变成4个元素了,
[/Quote]
能不能用类似delete的方法先把第一次的内存空间释放,然后再调用new方法申请第二次想申请的数组诶??
如果有,请问怎么实现诶????3Q3Q
stonespace 2012-05-11
  • 打赏
  • 举报
回复
用List,变长数组,

List<uint> arr=new List(3);

循环后,arr.Add(0);就变成4个元素了,

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧