gpt4 book ai didi

unity3d - 如何在 Unity 中将字符串数组保存到 PlayerPrefs?

转载 作者:行者123 更新时间:2023-12-01 23:24:40 24 4
gpt4 key购买 nike

我有一个数组,我想将它保存到 PlayerPrefs。我听说,我可以这样做:

PlayerPrefs.SetStringArray('title', anArray);

但由于某些原因它不起作用。也许我没有使用像 using UnityEngine.PlayerPrefs; 这样的库?

有人可以帮助我吗?

提前致谢

最佳答案

你不能。 PlayerPrefs不支持数组。

但是您可以使用特殊的分隔符并执行例如

PlayerPrefs.SetString("title", string.Join("###", anArray));

然后用于阅读

var anArray = PlayerPrefs.SetString("title").Split(new []{"###"}, StringSplitOptions.None);

或者,如果您知道内容,特别是从未使用过哪个字符,您也可以使用单个字符,例如

PlayerPrefs.SetString("title", string.Join("/n", anArray));

然后用于阅读

var anArray = PlayerPrefs.SetString("title").Split('/n');

是的,正如 TEEBQNE 提到的那样,有 PlayerPrefsX.cs这可能是混淆的根源。

不过我推荐它!它只是将所有不同的输入类型转换为 byte[],然后从那里转换为 Base64 字符串。

对于 int[]bool[] 等来说,这可能很酷。但是对于 string[] 来说,这绝对是低效的因为字符串的 Base64 字节表示比字符串本身长得多!

它可能是一个有效的替代方案,但如果您不能依赖您的字符串内容并且您不能确定您的分隔符序列实际上永远不是任何字符串的内容。

关于unity3d - 如何在 Unity 中将字符串数组保存到 PlayerPrefs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67476122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com