28 lines
707 B
Markdown
28 lines
707 B
Markdown
|
|
通常用法:
|
|||
|
|
解决值[[值类型和引用类型]]在函数内外部互相传递时的问题
|
|||
|
|
函数内部改外部传入也改
|
|||
|
|
==ref和out的区别:==
|
|||
|
|
ref:
|
|||
|
|
- 传入的参数必须初始化(赋值)
|
|||
|
|
- 方法内可读可写
|
|||
|
|
out:
|
|||
|
|
- 传入前**可以不初始化**
|
|||
|
|
- 方法内**必须赋值**,否则编译报错
|
|||
|
|
|
|||
|
|
语法:
|
|||
|
|
在函数传参时,两边都要加上修饰词
|
|||
|
|
ref:
|
|||
|
|
```Csharp
|
|||
|
|
static void ChangeValue(ref value)
|
|||
|
|
ChangeValue(ref a);
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
案例:
|
|||
|
|
原型在[[值类型和引用类型]]笔记中
|
|||
|
|
|
|||
|
|
注意:
|
|||
|
|
==out不是用来让内外值一定不等==
|
|||
|
|
==ref传入的参数必须初始化==
|
|||
|
|
如果传入引用类型且内外不同,推荐new一个
|
|||
|
|
|
|||
|
|
#基础
|