我只是要使用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。) 最佳答案
MSDN的代码样本的质量确实有所不同,这是不良代码样本的一个很好的例子。
就像您说的那样,写起来更容易:
byte[] input = FileUpload1.FileBytes;
字节数组的长度有错误-没有理由从发布的长度中减去1。