asp:FileUpload.FileBytes在MSDN中的例子令人困惑

时间:2010-03-01 19:48:00

标签: .net asp.net file-upload

我只是要使用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。)

1 个答案:

答案 0 :(得分:2)

来自MSDN的代码样本质量各不相同,这是编码样本不良的一个很好的例子。

正如你所说,简单写一下更容易:

byte[] input = FileUpload1.FileBytes;

字节数组的长度存在错误 - 没有理由从发布的长度中减去1。