方法的参数传递机制

// 方法的参数传递机制
// 值参数(Value Parameter)
// 方法名称(参数类型 参数名称[,参数类型 参数名称])
// 引用参数(Reference Parameter)
// 方法名称(ref 参数类型 参数名称[,ref 参数类型 参数名称])
// 输出参数(OutPut Parameter)
// 方法名称(out 参数类型 参数名称[,out 参数类型 参数名称])
// 例子:
using  System;
class  Method
{
    
public static int ValueMethod(int i)
    
{ i++;
            }

    
public static int ReferenceMethod(ref int i )
    
{  i++;
        }
        
    
public static int OutPutMethod(out int i )
    
{ i=0 //必需进行初始化
        i++;
        }
    
            
static void Main()
            
{
                
int i = 0 ;
                ValueMethod(
1);
                Console.WriteLine(
"i="+i);
                
int j = 0;
                ReferenceMethod(
ref j);
                Console.WriteLine(
"j="+j);
                
int k = 0;
                OutPutMethod(
out k);
                Console.WriteLine(
"k="+k);
                    
                }

//输出参数和引用参数的区别
//从CLR角度看是一样的,但是C#编译器会将二个关键字区别对待,
//如果方法参数标记为out,调用都不希望在调用方法之前初始化对象,
//被调用的方法不能读取对象的值,而且被调用的方法在返回之前为对象赋值.
//如果方法参数标记为REF,调用者必需在调用方法之前初始化对象,
//被调用的方法可以读参数,也可为参数赋值.
//向方法传递可变数量的参数可以使用params关键字
using System;
class Method
{
  
static int addi(params int [] values)
  
{
   
int sum=0;
   
foreach(int i in value)
   
{
   sum
+ = i;
   
return sum;
   }

   
static void Main()
   
{
     Console.WriteLine(
1,2,3);//运行结果为6
   }

  }

}

using System;
class Method
{
  
static void PrintArr(int [] arr)
  
{
   
for (int i= 0;i<arr.Length;i++ )
      arr[i]
=i;
   }

   
static void Main()
   
{
     
int [] arr = {100,200,300,400};
     PrintArr(arr);
     
foreach(int i in arr)
     Console.Write(i
+",");//;;输出结果为0,1,2,3
   }

  }

}

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值