C#字节数组byte[]填充问题

FileStream fs = new FileStream("c:\\abc.txt", FileMode.Create);
            string mystr = "chinaren";
            Byte[] d = new Byte[5];
            d=Encoding.UTF8.GetBytes(mystr);
            fs.Write(d, 0, d.Length);
            fs.Close();

我把字节数组d定义了5个字节的长度,但是通过Encoding.UTF8.GetBytes(mystr)转换成8个字节长度,把这8个字节长度的数据放入5个字节数组d,没有报错和益出,打开c:\abc.txt文件,确实保存了chinaren这8个字符,请问大家,这是什么原因。
d=Encoding.UTF8.GetBytes(mystr);这一行加个断点 然后添加监视 看看d的长度有没有变就可以了
提问者评价
经添加断点调试,发现经过d=Encoding.UTF8.GetBytes(mystr);这一句代码后d变成8个字节数组,多谢。
Encoding.UTF8.GetBytes() 返回的是一个 byte[]
d会被重新定义和赋值 变成 byte[8]