我将返回对象的大List作为ValueTuple中的参数之一。像这样的事情:
(bool success, List<TemplateModel> data string error)> Get(string templateName);至于ValueTuple是一个struct,而List在struct中,我认为必须存储在堆中。所以不应该有任何性能问题。这有道理吗?这种方法有什么缺陷吗?
发布于 2019-02-04 11:01:59
List<string>和string都是引用类型,因此将存储在堆中。元组本身将只包含对这些数据项的引用。
引用本身的大小不取决于列表中的项数或字符串中的字符数。通常是32位,或者最多64位。
大多数情况下,这种性质的微优化不会对性能产生任何明显的影响。
https://stackoverflow.com/questions/54514660
复制相似问题