函数就是将一堆代码进行重用的一种机制。函数就是一段代码,这段代码可能有输入的值(参数),可能会返回值。一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。

有了函数写代码就像拼积木,C#中的各种各样的技术其实就是通过for、if等这些基础的语法将不同的函数按照一定的逻辑组织起来。

Console.ReadLine();//就是一个有返回结果的函数;
Console.WriteLine("hello");//就是一个有执行参数的函数,只有告诉WriteLine被打印的数据它才知道如何打印;
int i = Convert.ToInt32("22");//则是一个既有参数又有返回值的函数。

1 读取输入的整数,定义成函数,多次调用

static int ReadInt()
{
String s = Console.ReadLine();
return Convert.ToInt32(s);
}

写程序测试,程序调用到函数的时候是进入函数内部执行的,执行完毕再继续向下执行。

2、函数如果没有返回值则标记返回值类型为void.

3、return语句.导致函数立即返回。在返回值为void的函数中return,在返回值非void的函数中"return 数值"。

return不是结束程序,只是结束当前函数,控制台程序中Environment.Exit(0)退出程序。

一个函数如果“答应”返回一个非void类型的值,则函数的所有路径都要有返回值。比如将对输入年龄转换为年龄段描述的函数。

函数名开头大写,参数名开头小写,参数名、变量名要有意义

给我一个字符串,然后字符串使用我指定的分隔符来进行分割,比如我指定用"|"分割,那么返回给我"aa|bb|cc"

        static void Main(string[] args)
        {
            //int i = ReadInt();
            //i++;
            //Console.WriteLine(i);
            string[] a = { "aa", "bb", "cc", "dd", "ee", "ff", "gg" };//定义一个字符串数组,并赋值。
            string pp = "|";//定义一个字符串变量。
            Console.WriteLine(CL(a,pp));//输出调用CL函数的结果。CL有两个传递值。
            Console.ReadKey();
        }
        static string CL(string[] s, string p)//CL函数没有void,即要有返回值,首先接收 数组s、p的值。
        {
            string o = "";//定义一个字符串变量,并赋为空值。
            for (int i=0;i<s.Length-1;i++)//判断i是否小于s数组长度-1
            {
                o = o + s[i]+p;//如果小于,则将o变量+s[i]数组元素+p的值 赋给o变量。
            }
            if (s.Length>0)//上面for循环完成后,判断s数组长度是否大于0.
            {
                o = o + s[s.Length - 1];//最好输出s数组最后一个元素加在o变量后面。
                return o;//返回o变量的值。
            }
            return o;//在任何情况下都要给出返回值。比如s接收到的是一个里面没有元素的数组。
        }

输出结果:

image.png


可变参数

参数数组:

int sum(params int[] values)//数组前面加上params
int sum(string name,params int[] values)//可变参数数组必须是最后一个


更新日期: 2018年08月20日
文章标签: 数组控制台应用程序函数
文章链接: http://www.qljia.com/post/25.html