Re: [問題] 寫一些小檔的表頭的作法請益
※ 引述《stu87616 (DoubleLight)》之銘言:
: 要寫一個特殊檔案表頭,檔案大小都不太大,
: 後面接續的資料也都沒有很大,
: 我現在的做法是
: List<byte> list = new List<byte>();
: byte[] writing = new byte[]
: {
: 0x00,0x00,0x00,0x00,
: 0x00,0x00,0x00,0x00,
: 0x00,0x00,0x00,0x00
: }; //(資料只是舉例)
: list.AddRange(writing);
: writing = new byte[]{................};
: .
: .
: 如此這般分成幾段把固定和非固定的資料加進list裡
: 最後一口氣用Write.(list.Array());寫進BinaryWriter裡
: 只是我對這種做法一直覺得怪怪的,
: 後來我去跑了一些效能時間測試的case
: 發現一次只有10~40筆左右的資料,先列成byte陣列還比較費時,
: 不如直接執行10~40次的list.Add
: 我原先是覺得byte[]會比較容易維護,
: list還有AddRange的特別函數可以用,照理來說多少有優勢才是
: 但似乎不是這樣,想來版上問問看這類型的case有沒有更好多作法?
byte[] writing = new byte[]
{
0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00
};
就直接寫入記憶體或是檔案 不用再透過List 去組合
BinaryWriter writeBinay = new BinaryWriter(writeStream);
writeBinay.write(writing);
writeBinay.write(接下來你要的資料);
以上是我自己的想法 如果不對或是不好再請指教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.49.162
推
06/20 11:35, , 1F
06/20 11:35, 1F
→
06/20 11:35, , 2F
06/20 11:35, 2F
→
06/20 11:35, , 3F
06/20 11:35, 3F
→
06/20 12:59, , 4F
06/20 12:59, 4F
推
06/20 16:28, , 5F
06/20 16:28, 5F
→
06/20 16:28, , 6F
06/20 16:28, 6F
推
06/20 22:49, , 7F
06/20 22:49, 7F
→
06/20 22:50, , 8F
06/20 22:50, 8F
→
06/20 22:50, , 9F
06/20 22:50, 9F
→
06/20 22:52, , 10F
06/20 22:52, 10F
→
06/20 22:52, , 11F
06/20 22:52, 11F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):