函数

来源:互联网 发布:linux如何连接数据库 编辑:程序博客网 时间:2024/06/02 17:31

一、认识函数:

在C#中,函数是一种方法,可提供在应用程序中的任何一处执行的代码块。

可以理解为一种数学公式,在代码中调用这个公式。

类似c语言里面的函数,这个东西经常用到,能让你的代码有更好的可读性。

一般采用PascalCase 形式编写函数名。

我们一开始接触的函数Main()是控制台应用程序的入口点函数。当执行C#应用程序时,就会调用它包含的入口点函数,这个函数执行完毕后,应用程序就终止了。所有C#可执行代码都必须有一个入口点。

这里我就说下带参函数吧:

1)参数数组

C#允许为函数指定一个(只能指定一个)特定的参数,这个参数必须是函数定义中的最后一个参数,称为参数数组。参数数组可以使用个数不定的参数调用函数,使用params 关键字定义它们。

eg:

static int SumVals(params int[] vals)

{

int sum = 0;

foreach (int val in vals)

{

sum += val;

}

return sum;

}

static void Main(string[] args)

{

int sum = SumVals(1, 5, 2, 9, 8);

Console.WriteLine("Summed Values = {0}", sum);

}

2)引用参数

要区分于值参数,即函数处理的变量与函数调用中使用的变量相同,而不仅仅是值相同的变量,使用ref 关键字指定参数(类似c语言里面的AA(&b),其中AA是函数名,b是参数,‘&’和ref含义相同)

eg:

static void ShowDouble(ref int val)

{

val *= 2;

Console.WriteLine("val doubled = {0}", val);

}

在函数调用中(这是必须的,因为ref 参数是函数签名的一部分)再次指定它:

int myNumber = 5;

Console.WriteLine("myNumber = {0}", myNumber);

ShowDouble(ref myNumber);

Console.WriteLine("myNumber = {0}", myNumber);

使用ref需要注意

1.函数可能会改变引用参数的值,所以必须在函数调用中使用“非常量”变量

2.其次,必须使用初始化过的变量。C#不允许假定ref 参数在使用它的函数中初始化

3)输出参数

除了按引用传递值之外,还可以使用out 关键字,指定所给的参数是一个输出参数。out 关键字的使用方式与ref 关键字相同(在函数定义和函数调用中用作参数的修饰符)。实际上,它的执行方式与引用参数完全一样,因为在函数执行完毕后,该参数的值将返回给函数调用中使用的变量。但是,存在一些重要区别。

 1.把未赋值的变量用作ref 参数是非法的,但可以把未赋值的变量用作out 参数。

l2.另外,在函数使用out 参数时,out 参数必须看作是还未赋值。

即调用代码可以把已赋值的变量用作out 参数,存储在该变量中的值会在函数执行时丢失。

二、认识变量的作用域

给定的变量有一个作用域,访问该变量要通过这个作用域来实现。

要区分全局变量和局部变量

这里要强调的是不止函数要考虑作用域,循环也要考虑作用域(可以理解为代码块);

在代码中,只声明一个简单变量类型,并不会引起其他的变化。只有在给变量赋值后,这个值才占用一块内存空间。如果这种占据内存空间的行为在循环中发生,该值实际上定义为一个局部值,在循环的外部会超出了其作用域。

所以一般情况下,最好在声明和初始化所有变量后,再在代码块中使用它们。一个例外是把循环变量声明为循环块的一部分

三、Main函数

前面介绍了main函数的一部分,Main()是C#应用程序的入口点,执行这个函数就是执行应用程序。也就是说,在执行过程开始时,会执行Main()函数,在Main()函数执行完毕时,执行过程就结束了。

细心的同学会发现这个函数可以返回void 或int,有一个可选参数数string[] args带返回值的一般情况下,返回0 反映了“正常”的终止(即应用程序执行完毕,并安全地终止)。

Main()的可选参数args 是从应用程序的外部接受信息的方法,这些信息在运行期间指定,其形式是命令行参数。就像Windows 中的记事本应用程序。在命令提示窗口中键入notepad,或者在Windows“开始”(Start)菜单中选择“运行”(Run)选项,再在打开的窗口中键入notepad,就可以运行该应用程序。在执行控制台应用程序时,指定的任何命令行参数都放在这个args 数组中,接着可以根据需要在应用程序中使用这些参数。

原创粉丝点击