C# 7.2引入了in
修饰符,用于通过引用传递参数,并保证接收者不会修改参数。
此article表示:
切勿将非只读结构用作in参数,因为这可能会对性能产生负面影响,并且如果该结构是可变的,还可能导致模糊的行为
这对于int
、double
等内置原语意味着什么
我想使用in
在代码中表达意图,但不会以防御性副本的性能损失为代价。
问题
in
参数传递原始类型并且不制作防御性副本是否安全?DateTime
、TimeSpan
、Guid
等...如果平台不同,我们如何才能找出在给定的situation?中哪些类型是安全的?
https://stackoverflow.com/questions/50777828
复制相似问题