日期:2014-05-17  浏览次数:21991 次

string[] 如何清空??
举个例子:

    public partial class TestMain : Form
    {
        string[] strShuzu = null;

        ... ...

        private void button1_Click(object sender, EventArgs e)
        {
            strShuzu = new string[8];

            ... ...// 做一些操作
        }

        private void button2_Click(object sender, EventArgs e)
        {
            strShuzu = new string[16];

            ... ...// 做另一些操作
        }
    }

如上面代码 ,如果我的操作顺序是先点击 button1 再点击 button2,那:

、那成员变量strShuzu 在 “new string[16];” 之前 是否需要手动先清空一下 strShuzu ?(如何清空?貌似 strShuzu 没有Clear或者Dispose方法啊???)

、或者说 在 “new string[16];” 之前 是不需要 清理 strShuzu 的?因为 垃圾回收会自动清理之前分配的 “new string[8];" ???

请问,一、二 两种情况,我该是采取那种情况??如果我是在频繁的重新分配strShuzu的空间呢?又该是如何??


请解答,谢谢。

PS : ∵C++代码都是要自己释放内存,这边不释放有点不习惯的感觉...是否就算频繁的为strShuzu申请信的空间 也照样不用手动释放?

------解决方案--------------------
直接2,不需要去清空
------解决方案--------------------
不用清空,点2的时候,1里面的对象就成为垃圾,等待回收了。
------解决方案--------------------
不会的。net有自己的垃圾回收机制
------解决方案--------------------
引用:
先感谢楼上各位。

也就是说 我就算 频繁的 点击button2 (即 频繁的 strShuzu = new string[16]; )也是不用手动清理的喽?(虽然这样做很不合理)


不用担心,CLR自动回收。
------解决方案--------------------
不用清空,.net这点很不错
------解决方案--------------------
不用清空,会自动回收