C# 中 "in" 参数的用途
Purpose of "in" parameters in C#
C# 7.2 为方法引入了 in
参数。我了解它们的工作原理:
int MyMethod(in int i) {
i += 1; // illegal, i is read-only
return i + 1;
}
我不明白这些参数是通过引用传递的(比如 ref
和 out
)。
不明白的是in
参数的目的。使用它们有什么好处?
我理解 out
和 ref
参数的用途,能够在调用范围内为变量赋值非常有用,但是 in
参数不存在该函数.
"in" 可用于将变量作为只读引用(值类型和引用类型)传递。
传递只读引用的原因是,如果我传递一个没有引用的值类型变量,那么每次都会创建一个新副本。因此,这将需要额外的内存并且性能会变慢。
C# 7.2 为方法引入了 in
参数。我了解它们的工作原理:
int MyMethod(in int i) {
i += 1; // illegal, i is read-only
return i + 1;
}
我不明白这些参数是通过引用传递的(比如 ref
和 out
)。
不明白的是in
参数的目的。使用它们有什么好处?
我理解 out
和 ref
参数的用途,能够在调用范围内为变量赋值非常有用,但是 in
参数不存在该函数.
"in" 可用于将变量作为只读引用(值类型和引用类型)传递。 传递只读引用的原因是,如果我传递一个没有引用的值类型变量,那么每次都会创建一个新副本。因此,这将需要额外的内存并且性能会变慢。