您现在所在的位置:首页 >学习资源 > Unity游戏/VR/AR入门教材 > VR开发入门教程28:控制台编程 C#的方法二

VR开发入门教程28:控制台编程 C#的方法二

来源:奇酷教育 发表于:

参数参数分为两种:形式参数:在编写方法的时候 预定义的参数实际参数:在实际调用(使用)方法的时候 传入方法的参数参数的类型:形式参

参数
参数分为两种:
形式参数:在编写方法的时候 预定义的参数
实际参数:在实际调用(使用)方法的时候 传入方法的参数
 
参数的类型:
形式参数:任意的数据类型 由方法编写者在预定义时限定
实际参数:任意的数据类型(和形式参数匹配)在方法的调用者中定义赋值
 
简单示意:
形式参数:
public static void Area(int radius){....} //int radius即为形式参数
实际参数:
public static void Main (string[] args)
{
     int r = 1;
     Area(r);  // r即为实际参数
}
 
// 传参的实质:int radius = r;
参数数组,通过关键字params定义参数数组。调用时可以传入个数不同的实参,具备很好的灵活性。参数数组必须为参数列表的最后一个参数,参数列表之前可以设置其他的参数。
 
示例:
//参数数组,关键字params
static void Add(params int[] p)
{
    for(int i=0;i
    {
         Console.WriteLine(p[i]);
    }
}
 
static void Main(string[] args)
{
   //调用使用了参数数组的方法 参数的数量是可变的
   Add();
   Add(1,3,5);
   Add(1,3,5,7);
}
值类型和引用类型
C#中的数据类型按照大的分类 分为值类型和引用类型。值类型包括基本数据类型、枚举和结构,引用类型包括数组、类(String)、接口等。
 
区别:
值类型相当于单独的一个箱子 直接操作箱子内的内容。
引用类型相当于管理存储箱子的管理员。
 
从以下几个方面来了解它们的具体区别:
1.声明时
值类型:新产生一个箱子 等待存储
引用类型:产生一个箱子管理员 等待一个箱子
2.被赋值
值类型:将新的内容直接放在箱子内
引用类型:和=右边的管理员一起管理同一个箱子
函数参数默认是值传递的,也就是“复制一份”。
Ref和out
out和ref传递的都是引用而不是值,out侧重于输出使用之前不需赋值而ref在使用之前需要赋值,另外这两个关键字可以变相实现使一个方法输出多个值。
 
1.形参和实参指向同一地址
2.始终保证形参和实参指向同一地址
 
ref和out不一样:
ref在实参传入时 保留其值 而out消除其值
 
方法编写的时候的选择:
若方法只有一个返回值 选择使用返回值类型
例:
public static int ReturnInt()
{
  return 1;
}
 
如果返回值多于1个 选择使用out
public static void ReturnInt(out int a,out int b)
{
//a、b赋初值
// a、b参与运算
}
调用时: int c;int d;  ReturnInt(out c,out d);
 
如果需要直接将结果返回到某一个变量上 使用ref
public static void ChangeString(ref String s)
{
s = "000"+s;
}
调用时: String ss = "1";  ChangeString(ref ss);