代码之家  ›  专栏  ›  技术社区  ›  Hyun

C#我想更改分配的字节

  •  -1
  • Hyun  · 技术社区  · 10 年前
                Byte[] mtime = new Byte[4];
                mtime = BitConverter.GetBytes(root.LastWriteTime.ToBinary());
                fs.Write(mtime, 0, mtime.Length);
    

    enter image description here

    保存该二进制文件时。它(LastWriteTime)占用8字节。 我希望“LastWriteTime”只使用4字节。 我该怎么办? 有办法吗?

    对不起,我英语不好。。。。

    1 回复  |  直到 10 年前
        1
  •  0
  •   Community Mohan Dere    9 年前

    不能在不丢失信息(即精度)的情况下收缩DateTime对象的表示。如果你不介意丢失信息,你只需要决定哪些信息对你最重要。像 this answer 如图所示,您可以从基础数据类型中截取信息(很长),只需获取所需的信息即可。

    如果您只需要毫秒精度,为什么不丢失最低有效位

    int timeStamp = (int)(DateTime.Now.Ticks >> 10) // lose smallest 10 bits