自从我决定使用 Rust 和 Go 使自己多样化后,我变得过分担心复制/引用/移动等。
最近我真的想知道是否ValueTuple
也受到典型警告的影响struct
,即它的大小不应大于 16 字节以避免在此处和那里复制值类型时出现性能:https ://stackoverflow.com/a/1082341/ 4636721
因此,如果说我们有一个值元组(decimal, decimal, decimal, decimal)
,这意味着我们最好使用经典Tuple<decimal, decimal, decimal, decimal>
类来传递该元组?
[编辑]
用例示例:假设下面的方法会被调用很多
public (decimal, decimal, decimal, decimal) GetSuperImportantTuple(int input)
{
var aParameter = GetAParameter(input);
// Copy when getting that tuple
var tuple = GetA4DecimalsValueTuple();
// Copy into that function
var anotherParameter = GetAnotherParameter(tuple);
// Copy when returning the value
return TransformValueTuple(tuple, anotherParameter);
}