问题描述
byte[]buf=Encoding.Default.GetBytes(txtContent.Text);buf没有定义啊,怎么可以直接用啊,前面也没有定义啊。这是引用吗?谢谢大家。
解决方案
解决方案二:
xiexiedajia
解决方案三:
byte[]buf已经是定义了...以数组的形式定义Encoding.Default.GetBytes(txtContent.Text);是将txtContent.Text转为二进制序列...
解决方案四:
byte[]buf这个不就是定义的么?
解决方案五:
是的,byte[]buf这就是声明的,声明一个数组
解决方案六:
定义了byte【】就是
解决方案七:
定义可以这样:byte[]buf=newbyte[10000];//声明一个长度为10000的字节数组当然也可以这样:byte[]buf=Encoding.Default.GetBytes(txtContent.Text);//声明字节数组并初始化赋值
解决方案八:
byte[]buf=Encoding.Default.GetBytes(txtContent.Text);//声明字节数组并初始化赋值这个没有NEW啊,怎么初始化啊!
解决方案九:
ding
解决方案十:
这个初始化(new)的过程放在了GetBytes方法的内部,buf只是获得了数组的一个引用。过程类似于如下代码:byte[]byte1=newbyte[10];byte[]byte2=byte1//只是获得byte1的引用
解决方案十一:
呵呵,我以前就遇到过,如果不是用Encoding.Default.GetBytes(str)的话,如果str是汉字(也就是双字节的字符)那么得到的长度就是2,这样的话就得不到一个完整的汉字;如果用了Encoding.Default.GetBytes()的话就是1,这样的话就可以得到正确的长度.如:stringstr="Chn中国人";intLen1=str.Length;//Len1=6;intLen2=Encoding.Default.GetBytes(str).Length;//Len2=9,一个汉字两个字符;如果不用Encoding.Default.GetBytes()的话那你的buf如果想装下全部汉字的十六进制数值就溢出了.不知道说明白了没