Unexpected inconsistency in records – Jon Skeet's coding blog
10 months ago
- #Records
- #C#
- #Programming
- 文章讨论了C#记录类型在使用'with'运算符进行非破坏性变更时出现的意外不一致问题。
- 重点指出了派生数据在使用'with'运算符时无法正确更新的问题,这会导致属性值错误。
- 作者探讨了四种潜在解决方案:避免对复杂记录使用'with'运算符、编写Roslyn分析器、使用Lazy<T>进行安全计算,或请求语言特性变更。
- 结论强调在使用带有计算属性的记录类型时,需要特别注意'with'运算符可能引发的错误问题。