gpt4 book ai didi

c# - 在 PlayerPrefs 中保存自定义类型列表

转载 作者:行者123 更新时间:2023-11-30 21:53:45 25 4
gpt4 key购买 nike

我想在 PlayerPrefs 中保存类型为 Myclass 的列表。

我看到一个在字符串中进行转换的示例,我该怎么做?

public class MyClass{
private int ex;
}
List<MyClass> l = new List<MyClass>();
//How to save it?

最佳答案

在我个人看来,使用 JSON 将对象序列化/反序列化为字符串的方法是更好的选择。

您可以找到很多用于 C# 的 JSON 库,只需对其进行研究并找到更适合您的库。

或者看看unity wiki ArrayPrefs2并扩展或使用它来创建您自己的解析器以保存您的对象结构。我个人不建议使用这种方法来保存整个对象,但可以提及...

当您的对象足够简单,可以使用 Newtonsoft 中的 JsonConverter 时正如 Povl Eller 所建议的那样:

保存

Character char = new Character();
char.Name = "Apple";
char.Level = 1;
char.Health = 150;
char.Attributes = new int[] { 10, 10, 10 };

PlayerPrefs.SetString( "PlayerCharacter", JsonConvert.SerializeObject(char) );

加载

Character char = JsonConvert.DeserializeObject<Character>( PlayerPrefs.GetString( "PlayerCharacter" ) );

如果您需要控制更复杂对象的序列化或其他内容,您可以使用 newtonsoft 网站上同一链接中记录的 JsonSerializer。

OBS:这段代码我直接写在这里,并没有测试,可能你需要调整它才能有用......

关于c# - 在 PlayerPrefs 中保存自定义类型列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33670038/

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