您的位置:首页 > 文旅 > 旅游 > 网页版微信文件传输助手_公司小程序定制开发_seo推广怎么收费_抖音搜索引擎推广

网页版微信文件传输助手_公司小程序定制开发_seo推广怎么收费_抖音搜索引擎推广

2024/12/24 10:11:41 来源:https://blog.csdn.net/ellis1970/article/details/144598927  浏览:    关键词:网页版微信文件传输助手_公司小程序定制开发_seo推广怎么收费_抖音搜索引擎推广
网页版微信文件传输助手_公司小程序定制开发_seo推广怎么收费_抖音搜索引擎推广

一.方法参数修饰符 ref

  • 用于参数声明,以按引用而不是按值传递参数
  • 实参必须初始化,然后才能传递。
  • 方法定义和调用均必须显式使用 ref 关键字。
  • ref 表示该方法可以读取或写入参数的值。
void Method(ref int refArgument)
{refArgument = refArgument + 44;
}int number = 1;
Method(ref number);
Console.WriteLine(number);
// Output: 45

二.方法参数修饰符 out

  • 用于参数声明,以按引用而不是按值传递参数
  • 方法调用之前无需初始化参数。 方法内必须向参数赋值。
  • 方法定义和调用均必须显式使用 out 关键字
  • out 表示该方法设置参数的值
int initializeInMethod;
OutArgExample(out initializeInMethod);
Console.WriteLine(initializeInMethod);     // value is now 44void OutArgExample(out int number)
{number = 44;
}

三.方法参数修饰符 in

  • 用于参数声明,以按引用而不是按值传递参数
  • 实参必须初始化。 方法内无法向参数赋值。
  • 方法得调用可以选择性包含 in 修饰符
  •  表示该方法可以读取但无法写入新值

使用 in 参数定义的方法可能会获得性能优化。 某些 struct 类型参数可能很大,在紧凑的循环或关键代码路径中调用方法时,复制这些结构的成本很高。 方法声明 in 参数以指定参数可能按引用安全传递,因为所调用的方法不修改该参数的状态。 按引用传递这些参数可以避免(可能产生的)高昂的复制成本。

void Method(in int value)
{Console.WriteLine(string.Format("in Method value is {0}", value));
}int n1 = 1;
Method(in n1);
int n2 = 1;
Method(n2);

四.方法参数修饰符params

  • 用来表示被修饰参数的数量可变
  • params修饰在参数的前面且参数类型得是一维数组类型
  • params用法本质是语法糖,编译完成之后还是一个数组
  • 在方法声明中的 params 关键字之后不允许有任何其他参数,并且在方法声明中只允许有一个 params 关键字
  • 使用 params 参数调用方法时,可以传入:

  1. 数组元素类型的参数的逗号分隔列表。
  2. 指定类型的参数的集合。
  3. 无参数。 如果未发送任何参数,则 params 列表的长度为零。
        static int Sum1(int[] array)             //数组参数{int sum = 0;for (int i = 0; i < array.Length; i++){sum += array[i];}return sum;}static int Sum2(params int[] array)    //可变参数{int sum = 0;for (int i = 0; i < array.Length; i++){sum += array[i];}return sum;}static void Main(){int sum1 = Sum1(new int[] { 1, 2 });Console.WriteLine(sum1);int sum2 = Sum2(1, 2, 3);Console.WriteLine(sum2);int sum3 = Sum2(new int[] { 1, 2, 3, 4 });Console.WriteLine(sum3);Console.ReadKey();}//output://3//6//10

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com