gpt4 book ai didi

c# - 为什么 JsonElement 是 struct 类型?

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

在很多JSON解析器中,json的元素都是以object(reference)类型呈现的。

但是在 C# 中,System.Text.Json JsonElementstruct 类型。为什么JsonElement是struct类型?

我担心这会导致不必要的内存复制。
如果 JsonElement 有非常大的数据怎么办?如果 JsonElement 的数组包含超过 1000 个对象怎么办?

最佳答案

如果您查看 source code您会发现 JsonElement 非常轻量级。它只有两个字段:对包含文档的引用和文档的索引。特别是,它直接包含元素的所有数据。

避免产生大量内存搅动,因为(例如)迭代文档中的所有元素是高效的,而不必创建大量对象。

关于c# - 为什么 JsonElement 是 struct 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72010378/

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