Finns det något sätt att komprimera ett objekt i minnet och använda det transparent?

Finns det något sätt att komprimera ett objekt i minnet och använda det transparent?

Det beror verkligen på vilken typ av det du arbetar med. En möjlighet är att komprimera dina objekt och behålla dem som en komprimerad byte[] istället för råobjektformat med en tilläggsmetod .

Du kan kombinera det tillsammans med att få din process att fungera x64-bitars:

public static byte[] SerializeAndCompress(this object obj) 
{
    using (MemoryStream ms = new MemoryStream()) 
    using (GZipStream zs = new GZipStream(ms, CompressionMode.Compress, true))
    {
        BinaryFormatter bf = new BinaryFormatter();
        bf.Serialize(zs, obj);
        return ms.ToArray();
    }
}

public static T DecompressAndDeserialize<T>(this byte[] data)
{
    using (MemoryStream ms = new MemoryStream(data)) 
    using (GZipStream zs = new GZipStream(ms, CompressionMode.Decompress, true))
    {
        BinaryFormatter bf = new BinaryFormatter();
        return (T)bf.Deserialize(zs);
    }
}