我只是要使用FileUpload.FileBytes属性,但是查看MSDN库中的相应示例我对此部分感到困惑:
int fileLen;
// Get the length of the file.
fileLen = FileUpload1.PostedFile.ContentLength;
// Create a byte array to hold the contents of the file.
byte[] input = new byte[fileLen - 1];
input = FileUpload1.FileBytes;
(来自here,我省略了一些不重要的行)
此代码中的new
对我来说就像垃圾收集器的食物一样没用。 (如果文件很大,可能是大食物。)为什么他们不写简单:
byte[] input = FileUpload1.FileBytes;
我对.NET和C#太新了,要勇敢地宣称这只是多余的或者是一个糟糕的书面例子。它有任何目的(可能是性能优势等)吗? (我也不明白为什么他们从fileLen
中减去1。)
答案 0 :(得分:2)
来自MSDN的代码样本质量各不相同,这是编码样本不良的一个很好的例子。
正如你所说,简单写一下更容易:
byte[] input = FileUpload1.FileBytes;
字节数组的长度存在错误 - 没有理由从发布的长度中减去1。