• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
a_a
Forget patterns, embrace creative.
            管理     

F#的火星人问题

还没有试过F#,不过一直很感兴趣也看了不少介绍,刚刚想到一个问题,找了一圈也没找到到哪里提问,就先发到博客上来吧。

从之前的阅读学习到,F#中属性的值不能改变(因为我之前用的C#,所以就借用C#里的名词啦),要修改属性时就得重新创建这个对象。

那这样想想的话不是会引起整个引用链的重建吗……?

比如这样一个数据结构:

公司 -< 部门 -< 人员

如果我想改一个人员的名字,那就得重建这个人员,这样就得再修改部门的人员集,再把这个新建人员替换原来的那个,修改部门的人员集属性就得重建部门实例吗?那接下来就还得重建公司实例,再继续岂不是要把所有有引用关系的实例都重建……?

posted @ 2009-02-18 05:01  a_a  阅读(240)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3