in 修饰符记录:

新版c# 新增加的 in 修饰符:保证发送到方法当中的数据不被更改(值类型),当in 修饰符用于引用类型时,可以改变变量的内容,单不能更改变量本身。

个人理解:in 修饰符传递的数据,在方法里就是只读的 ,不能进行任何更改。

 1 class program
 2     {
 3         static void main(string[] args)
 4         {
 5 
 6             int x = 25;
 7             changex(x);
 8         }
 9 
10         private static void changex(in int x)
11         {
12             x = x + 2;//错误 cs8331  无法分配到 变量 'in int',因为它是只读的
13 
14             console.writeline(x);
15         }
16     }