in参数
在C# 7.2中添加了in修饰符,保证发送到方法中的数据不会更改(在传递值类型时)。
例如以下代码:
1 /// <summary> 2 /// 结构C 3 /// 值类型 4 /// </summary> 5 public struct C 6 { 7 public int X { get; set; } 8 } 9 // 使用 10 // 使用in修饰符的参数C 11 public void CanNotChange(in C c) 12 { 13 // 尝试改变C.X的值 14 // 报错:不能分配到 变量 ‘in C’的成员,因为它是只读变量 15 c.X = 4; 16 }
参数也可以是引用类型,引用类型的变量只能修改变量的内容,但不能修改变量本身。