您的位置:首页 > 编程语言 > C#

c#语法总结2 - 函数

2015-06-10 09:18 302 查看
都说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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: