都说java 与 C# 相似度80%以上,看了C#TM貌似真的是这样。函数定义啥的就不说了~
1.参数数组
C#中参数数组可以使用个数不定的参数调用函数(这几个参数类型是相同的)
eg:
函数 public void GetElement(params int[] vals){}
params 是关键字 int 是参数类型 ,本例中说明该函数接受不定个数的 int 型参数
可以这么调用 GetElement(1,2,3,4); 或者 GetElement(1,2,3,4,5,6);等
在函数内部处理时,我们可以用一个循环遍历该参数数组
java 中的写法:
public void getElement(int... vals){}
调用方法跟C#是一样的
2.引用参数与值参数
public void GetA(int pa){}
int a=1;
GetA(a);
值参数:函数中对参数pa的操作不会影响到 a 的值。一般都是这样。
引用参数:对形式参数pa的处理,会影响到实参a的值。
定义引用参数的函数,可以这么写:
public void GetA(ref int pa)
{
pa *= 2;
}
ref 是关键字说明是引用参数
这是如果 调用 GetA(a); 则 实参a=2,而不是1
3.输出参数
C#中用 out 关键字指定一个输出参数,挖槽啥是输出参数咧。
其实输出参数跟上面的 ref 关键字是差不多的,就是在函数参数中提供一个接受处理结果的容器
看过来:
int a=1;
int b=1;
public void GetA(int pa,out int pb)
{
pb = pa+1;
}
GetA(a,b);
这个时候呢,b =2 ,输出参数b 在传递到函数的时候已经清除数据了,仅仅是传递一个容器
4.结构函数
struct address
{
public string city;
public string town;
public string Address(){
return city+"-"+town;
}
}
声明一个结构 :
address myAddress;
myAddress.city = "厦门";
myAddress.town="XX";
myAddress.Address();