黑马程序员------C#参数

来源:互联网 发布:剑灵夕颜捏脸数据 编辑:程序博客网 时间:2024/05/23 13:19

         ---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------  

参数

  参数的2个作用
  *在方法执行的时候把数据传入方法
  *返回1个以上的值


  形参
  形参是声明在方法的参数列表中而不是在方法体重的本地变量
  *因为形参是变量,所以他们有类型和名称,并且能被写入和读出
  *和方法的其他变量不同,参数在方法的外部定义并在方法开始前初始化(out除外)
  *参数列表可以有任意数量的声明,并且必须以逗号隔开


  实参
  当代码调用方法时,形参的值必须在方法的代码执行之前被初始化
  *用于初始化形参的表达式或者变量称为实参。
  *实参放在方法调用的参数列表中
  *实参的数目必须和形参的数目相同(params可变参数除外)
  *每个实参的类型必须和相应的形参类型匹配


  值参数
  值参数是把实参的值复制到形参的参数
  使用值参数,数据通过复制实参的值到形参的方式传递到方法。方法被调用时、
  *在栈中为形参分配空间
  *复制形参到实参
  一个值参数的实参不一定是变量。它可以是任何能计算成相应类型的表达式
  变量在用作实参是必须被赋值(做为输出参数时除外)。对于引用类型,变量可以被复制为一个引用或null。


  引用参数
  使用引用参数时,必须在方法是声明和使用中都是用ref修饰符
  实参是变量,在用作实参时必须被赋值。如果是引用类型变量。可以赋值为一个引用。
  对于值参数,系统在栈里为形参分配内存。相应地,引用参数有以下特征:
  *不在栈中为形参分配新的内存。
  *形参的名称相当于实参变量的别名,引用于实参相应的内存位置


  输出参数
  输出参数用于从方法体内把数据传出到调用代码,输出参数有以下要求:
  *必须在声明的调用中都使用修饰符out
  *实参必须是变量,不能使其他表达式类型
  就像引用参数,输出参数的形参相当于实参的别名,形参和实参都是统一内存位置的别称
  输出参数的要求:
  *在方法内部,输出参数在被读取之前必须被赋值,这意味着参数的初始值是无关的,而且没有必要在方法调用前为  实参赋值
  每个输出参数在方法返回之前必须被赋值


  参数数组
  参数数组允许零个或者多个实参对应一个特殊的形参,参数数组的重点如下:
  *在一个参数列表中只能有一个参数数组。
  *如果有,它必须是列表中的最后一个
  声明一个参数数组必须做的事
  在数据类型前使用params修饰符

  在数据类型后放置一组空的方括号

  ---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------