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

我只是要使用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开始,我省略了一些不重要的行)

这段代码中的新内容对我来说就像垃圾收集器的食物一样没用. (如果文件很大,可能是大食物.)为什么他们不写简单:

byte[] input = FileUpload1.FileBytes;

我对.NET和C#太新了,要勇敢地宣称这只是多余的或者是一个糟糕的书面例子.它有任何目的(可能是性能优势等)吗? (另外我不明白为什么他们从fileLen中减去1.)

最佳答案 来自MSDN的代码样本确实在质量上有所不同,这是错误编码样本的一个很好的例子.

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

byte[] input = FileUpload1.FileBytes;

并且字节数组的长度存在错误 – 没有理由从发布的长度中减去1.

点赞