V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Newyorkcity
V2EX  ›  问与答

没有写 C#的经验,在尝试给自己喜欢的游戏写 mod 时遇到 List 里一个问题,请教下有什么可能?

  •  
  •   Newyorkcity · 2021-03-07 01:02:53 +08:00 · 909 次点击
    这是一个创建于 1350 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://paste.ubuntu.com/p/nK4r7KXHCz/

    代码是如上,尽管有 Unity 相关的东西,但感觉应该和 unity 无关。

    注意第 36 和第 38 行,这两行代码导致输出台上产生了有效的内容,也就是说 rp.name 是一个非空字符串。

    但是在第 57 行输出时,输出的结果只有 unlock .

    也就是说 rp.name 变成了一个空字符串?( rp 应该还不是 null,不然进游戏游戏会报错)。

    由于我没有 C#开发经验,所以来请教下,谢谢。
    3 条回复    2021-03-07 20:10:02 +08:00
    geelaw
        1
    geelaw  
       2021-03-07 03:47:08 +08:00 via iPhone   ❤️ 1
    从逃逸分析的角度,比较像是 OnAfterDeserialize 改变了 name 。
    Newyorkcity
        2
    Newyorkcity  
    OP
       2021-03-07 08:55:23 +08:00
    @geelaw

    谢谢啊 我在 OnAfterDeserialize()上下分别再次要求输出 allMyRecipes[0].name,结果真的是上面一行有下面一行就没了。。但是好奇怪啊,我是照着一个 up 写的 mod 仿写的,那个 mod 也是先 OnAfterDeserialize()然后再使用 list 去 unlock 的,却工作得很正常。大佬知道可能的原因吗?
    PerFectTime
        3
    PerFectTime  
       2021-03-07 20:10:02 +08:00
    戴森球计划?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2853 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 08:26 · PVG 16:26 · LAX 00:26 · JFK 03:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.