using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public class Test
{
public static void Main()
{
List<Int32> lista = new List<Int32>();
for(Int32 i = 0; i < 100000; ++i) {
lista.Add(i);
}
Dictionary<Int32,Boolean> map = new Dictionary<Int32,Boolean>();
for(Int32 i = 0; i < 100000; ++i) {
map.Add(i, true);
}
long listSize = 0;
long mapSize = 0;
using (Stream s = new MemoryStream()) {
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(s, lista);
listSize = s.Length;
}
using (Stream s = new MemoryStream()) {
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(s, map);
mapSize = s.Length;
}
Console.WriteLine(String.Format("Lista: {0} bytes", listSize));
Console.WriteLine(String.Format("Mapa: {0} bytes", mapSize));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLkZvcm1hdHRlcnMuQmluYXJ5OwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCUxpc3Q8SW50MzI+IGxpc3RhID0gbmV3IExpc3Q8SW50MzI+KCk7CgoJCWZvcihJbnQzMiBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CgkJICAgIGxpc3RhLkFkZChpKTsKCQl9CgkJCgkJRGljdGlvbmFyeTxJbnQzMixCb29sZWFuPiBtYXAgPSBuZXcgRGljdGlvbmFyeTxJbnQzMixCb29sZWFuPigpOwoJCWZvcihJbnQzMiBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CgkJICAgIG1hcC5BZGQoaSwgdHJ1ZSk7CgkJfQoJCQoJCWxvbmcgbGlzdFNpemUgPSAwOwoJCWxvbmcgbWFwU2l6ZSA9IDA7CgkJCgkJdXNpbmcgKFN0cmVhbSBzID0gbmV3IE1lbW9yeVN0cmVhbSgpKSB7CgkJICAgIEJpbmFyeUZvcm1hdHRlciBmb3JtYXR0ZXIgPSBuZXcgQmluYXJ5Rm9ybWF0dGVyKCk7CgkJICAgIGZvcm1hdHRlci5TZXJpYWxpemUocywgbGlzdGEpOwoJCSAgICBsaXN0U2l6ZSA9IHMuTGVuZ3RoOwoJCX0KCQl1c2luZyAoU3RyZWFtIHMgPSBuZXcgTWVtb3J5U3RyZWFtKCkpIHsKCQkgICAgQmluYXJ5Rm9ybWF0dGVyIGZvcm1hdHRlciA9IG5ldyBCaW5hcnlGb3JtYXR0ZXIoKTsKCQkgICAgZm9ybWF0dGVyLlNlcmlhbGl6ZShzLCBtYXApOwoJCSAgICBtYXBTaXplID0gcy5MZW5ndGg7CgkJfQoJCQoJCUNvbnNvbGUuV3JpdGVMaW5lKFN0cmluZy5Gb3JtYXQoIkxpc3RhOiB7MH0gYnl0ZXMiLCBsaXN0U2l6ZSkpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKFN0cmluZy5Gb3JtYXQoIk1hcGE6IHswfSBieXRlcyIsIG1hcFNpemUpKTsKCQkKCX0KfQ==