public static byte[] Compress(byte[] data)
{
using (MemoryStream ms = new MemoryStream())
{
using (DeflateStream ds = new DeflateStream(ms, CompressionMode.Compress))
{
ds.Write(data, 0, data.Length);
ds.Flush();
}
return ms.ToArray();
}
}
memorystreamを上記の関数で閉じますか? または、memorystreamを配列に代入して代わりに配列を返す方が良いですか?メモリ使用量を最適化する
public static byte[] Compress(byte[] data)
{
byte[] compressedData;
using (MemoryStream ms = new MemoryStream())
{
using (DeflateStream ds = new DeflateStream(ms, CompressionMode.Compress))
{
ds.Write(data, 0, data.Length);
ds.Flush();
}
compressedData= ms.ToArray();
}
return compressedData;
}
どのコードがメモリ使用を最適化していますか?
男、コードではなくコードです!畜生! http://english.stackexchange.com/questions/20455/is-it-wrong-to-use-the-word-codes-in-a-programming-context –
オプション1はよりクリーンであり、より良い(1つのref-variable less )答えが指摘するように。加えて、ds.Flush()でフラッシュする必要はありません。 'using'はストリームを閉じます(そして閉じる前にclose flushes) – mho
Alright Vlad ..コード:D – xaria