【发布时间】:2018-10-24 01:44:49
【问题描述】:
我正在从二进制文件中读取字符串。每个字符串都以空值结尾。编码为 UTF-8。在 python 中,我只是读取一个字节,检查它是否为 0,将其附加到字节数组,然后继续读取字节,直到看到 0。然后我将字节数组转换为字符串并继续前进。所有字符串均已正确读取。
如何在 C# 中阅读此内容?由于数组是固定大小的,我不认为我可以简单地将字节附加到数组中。
【问题讨论】:
-
为什么不将它们作为字符附加到字符串中?
-
这可行,但会使用比您想象的更多的内存。 C# 字符串是不可变的,因此每次修改时都必须创建一个新字符串。在大多数情况下,额外内存的数量可能不是问题,但最好的方法可能是 Mike 的建议,具有合理的初始大小。 List
仍然只是一个数组的包装器,它在需要时创建更大的数组。 -
List
我猜似乎还不错。听起来和python的list一样。
标签: c#