在阅读微软技术文档的时候遇到了一些不太认识的符号:[in] [out] [in, out],不知道这些是什么意思

在阅读微软技术文档的时候遇到了一些不太认识的符号:[in] [out] [in, out],不知道这些是什么意思

如下图所示:

img

这里面参数的[in] [out]是什么意思呢?

非常感谢!

[in] [out] [in, out]表示
被调用时,接受用户传入实参(实际的值)的方式:
in:可以传一个具体的值,也可以是一个变量
out:实参只能是变量,不能是具体的值
in out:实参只能是变量,不能是具体的值

in类型可以被过程体引用,但不能改写值;
out类型不可被过程体引用,但可改写值;
in out 既可以被过程体引用,又可以改写值.
在调用in out类型时,调用过程插入参数时,不能直接用常量。必须用变量。这样才能接收out返回来的值。同理:用out的也不能直接用常量。 

这是用来说明参数的输入和输出特性的
[in]代表参数是个输入参数
[out]代表参数是个输出参数
[in,out]代表参数既要输出,同时也会输出

https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/in-parameter-modifier
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/out-parameter-modifier

输入输出