using System;
namespace parmsDemo
{
class Test{
//C#里面有一种引用参数 关键字ref修饰,这种参数和值参数不同地方在于 方法和引用方指向的是同一个地址
public void getIValue(ref int i){
i += 2;
}
//C#中还有一种输出参数 out,用于需要返回一个以上的返回值时,对于这种用法,需要注意的是,需要对min进行初始化,防止出入时没有初始化
public int sumAndGetValue(int i,int j, out int min){
min = 0;
if (i <= j) {
min = i;
} else {
min = j;
}
return i + j;
}
//c#中还有一种可变参数,关键字 params,需要
public int sumUnKownCountValue(params int[]parms){
int i = 0;
/**
for(int j = 0;j<parms.Length;j++){
i +=parms[j];
}
*/
foreach(int j in parms){
i +=j;
}
return i;
}
}
class MainClass
{
public static void Main (string[] args)
{
Test t = new Test ();
int i = 0;
t.getIValue (ref i);
//此时会输出2,方法传入的是i的地址,而不是COPY了一份
Console.WriteLine (i);
int a = 1;
int b = 2;
int c;
//此处输出3
Console.WriteLine (t.sumAndGetValue (a,b,out c));
//此处输出1
Console.WriteLine (c);
Console.WriteLine (t.sumUnKownCountValue(1));
Console.WriteLine (t.sumUnKownCountValue(1,2));
Console.WriteLine (t.sumUnKownCountValue(1,2,3));
Console.WriteLine (t.sumUnKownCountValue(1,2,3,4));
}
}
}
namespace parmsDemo
{
class Test{
//C#里面有一种引用参数 关键字ref修饰,这种参数和值参数不同地方在于 方法和引用方指向的是同一个地址
public void getIValue(ref int i){
i += 2;
}
//C#中还有一种输出参数 out,用于需要返回一个以上的返回值时,对于这种用法,需要注意的是,需要对min进行初始化,防止出入时没有初始化
public int sumAndGetValue(int i,int j, out int min){
min = 0;
if (i <= j) {
min = i;
} else {
min = j;
}
return i + j;
}
//c#中还有一种可变参数,关键字 params,需要
public int sumUnKownCountValue(params int[]parms){
int i = 0;
/**
for(int j = 0;j<parms.Length;j++){
i +=parms[j];
}
*/
foreach(int j in parms){
i +=j;
}
return i;
}
}
class MainClass
{
public static void Main (string[] args)
{
Test t = new Test ();
int i = 0;
t.getIValue (ref i);
//此时会输出2,方法传入的是i的地址,而不是COPY了一份
Console.WriteLine (i);
int a = 1;
int b = 2;
int c;
//此处输出3
Console.WriteLine (t.sumAndGetValue (a,b,out c));
//此处输出1
Console.WriteLine (c);
Console.WriteLine (t.sumUnKownCountValue(1));
Console.WriteLine (t.sumUnKownCountValue(1,2));
Console.WriteLine (t.sumUnKownCountValue(1,2,3));
Console.WriteLine (t.sumUnKownCountValue(1,2,3,4));
}
}
}