• 2016.7.31C#基础 函数


    函数


        一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在C#语言中,子程序的作用是由一个主函数和若干个函数构成。由主函数调用其它函数,其它函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。

         在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编写程序段的工作量。

    void是没有返回值,括号内是参数 private只能在当前类里面用,public公共的,可以在整个命名空间使用

         为了在以后用到此函数的时候不会忘记此函数的功能,需要加一些注释,这样在使用的时候鼠标放到上面就会显示写好的注释,使用的时候是在函数上面输入///,也就是三个斜杠。

         函数一个是传值另一个是传址:

         传值就是将实参的值传到所调用的函数里面,实参的值并没有发生变化,默认传值的有int型,浮点型,bool型,char字符型,结构体等等。

         传址就是将地址传到所调用的函数里面操作,实参的值也会跟着变化,传址的有数组和字符串string。

         上面说的就牵扯到数据的分类,分为值类型和引用类型,值类型的就是传值的那种,引用类型包括字符串类型,数组和对象,字符串类型特殊,主要是因为字符串实际上是一个字符char[]数组,它在修改的时候并不是直接修改,而是新开辟了一个存储空间也就是建立了一个新的字符串,所以它在调用、赋值的时候相当于传值,但它是引用类型的!

    例题:

           1、 //练习:判断邮箱格式是否正确
                //1.有且只能有一个@
                //2.不能以@开头
                //3.@之后至少有一个.
                //4.@和.不能靠在一起
                //5.不能以.结尾

              /// <summary>     
             /// 判断邮箱格式输入是否正确,有参数,没有返回值
            /// </summary>
            /// <param name="mail"></param>
            public void Mail(string mail) //有参数,没有返回值
            {
    
                if (mail.Contains("@"))
                {
                    int a = mail.IndexOf("@");
                    int b = mail.LastIndexOf("@");
                    if (a == b)
                    {
                        if (!mail.StartsWith("@"))
                        {
                            if (mail.Contains("."))
                            {
                                string mail1 = mail.Substring(a);
                                int c = mail1.IndexOf(".");
                                if (c != 1)
                                {
                                    if (mail.Substring(a - 1, 1) != ".")
                                    {
                                        if (!mail.EndsWith("."))
                                        {
                                            Console.Write("输入的邮箱正确!");
                                        }
                                        else
                                        {
                                            Console.Write("请输入正确的邮箱地址!!");
                                        }
                                    }
                                    else
                                    {
                                        Console.Write("请输入正确的邮箱地址!!");
                                    }
                                }
                                else
                                {
                                    Console.Write("请输入正确的邮箱地址!!");
                                }
                            }
                            else
                            {
                                Console.Write("请输入正确的邮箱地址!!");
                            }
                        }
                        else
                        {
                            Console.Write("请输入正确的邮箱地址!!");
                        }
                    }
                    else
                    {
                        Console.Write("请输入正确的邮箱地址!!");
                    }
                }
                else
                {
                    Console.Write("请输入正确的邮箱地址!!");
                }
            }
    
    
            /// <summary>
            /// 判断邮箱格式是否正确,无参数,没有返回值
            /// </summary>
    
            public void Mail1()    //无参数,无返回值
            {
                Console.Write("请输入一个邮箱地址:");
                string mail = Console.ReadLine();
                if (mail.Contains("@"))
                {
                    int a = mail.IndexOf("@");
                    int b = mail.LastIndexOf("@");
                    if (a == b)
                    {
                        if (!mail.StartsWith("@"))
                        {
                            if (mail.Contains("."))
                            {
                                string mail1 = mail.Substring(a);
                                int c = mail1.IndexOf(".");
                                if (c != 1)
                                {
                                    if (mail.Substring(a - 1, 1) != ".")
                                    {
                                        if (!mail.EndsWith("."))
                                        {
                                            Console.Write("输入的邮箱正确!");
                                        }
                                        else
                                        {
                                            Console.Write("请输入正确的邮箱地址!!");
                                        }
                                    }
                                    else
                                    {
                                        Console.Write("请输入正确的邮箱地址!!");
                                    }
                                }
                                else
                                {
                                    Console.Write("请输入正确的邮箱地址!!");
                                }
                            }
                            else
                            {
                                Console.Write("请输入正确的邮箱地址!!");
                            }
                        }
                        else
                        {
                            Console.Write("请输入正确的邮箱地址!!");
                        }
                    }
                    else
                    {
                        Console.Write("请输入正确的邮箱地址!!");
                    }
                }
                else
                {
                    Console.Write("请输入正确的邮箱地址!!");
                }
            }
    
    
            /// <summary>
            /// 判断邮箱格式是否正确,无参数,有返回值
            /// </summary>
            /// <returns></returns>
    
            public string Mail2()     //无参数,有返回值
            {
                Console.Write("请输入一个邮箱地址:");
                string mail = Console.ReadLine();
                if (mail.Contains("@"))
                {
                    int a = mail.IndexOf("@");
                    int b = mail.LastIndexOf("@");
                    if (a == b)
                    {
                        if (!mail.StartsWith("@"))
                        {
                            if (mail.Contains("."))
                            {
                                string mail1 = mail.Substring(a);
                                int c = mail1.IndexOf(".");
                                if (c != 1)
                                {
                                    if (mail.Substring(a - 1, 1) != ".")
                                    {
                                        if (!mail.EndsWith("."))
                                        {
                                            Console.Write("输入的邮箱正确!");
                                        }
                                        else
                                        {
                                            Console.Write("请输入正确的邮箱地址!!");
                                        }
                                    }
                                    else
                                    {
                                        Console.Write("请输入正确的邮箱地址!!");
                                    }
                                }
                                else
                                {
                                    Console.Write("请输入正确的邮箱地址!!");
                                }
                            }
                            else
                            {
                                Console.Write("请输入正确的邮箱地址!!");
                            }
                        }
                        else
                        {
                            Console.Write("请输入正确的邮箱地址!!");
                        }
                    }
                    else
                    {
                        Console.Write("请输入正确的邮箱地址!!");
                    }
                }
                else
                {
                    Console.Write("请输入正确的邮箱地址!!");
                }
                return (mail);
            }
    
    
            /// <summary>
            /// 判断邮箱格式是否正确,有参数,有返回值
            /// </summary>
            /// <param name="mail"></param>
            /// <returns></returns>
    
            public string Mail3(string mail)    //有参数,有返回值
            {
                if (mail.Contains("@"))
                {
                    int a = mail.IndexOf("@");
                    int b = mail.LastIndexOf("@");
                    if (a == b)
                    {
                        if (!mail.StartsWith("@"))
                        {
                            if (mail.Contains("."))
                            {
                                string mail1 = mail.Substring(a);
                                int c = mail1.IndexOf(".");
                                if (c != 1)
                                {
                                    if (mail.Substring(a - 1, 1) != ".")
                                    {
                                        if (!mail.EndsWith("."))
                                        {
                                            Console.Write("输入的邮箱正确!");
                                        }
                                        else
                                        {
                                            Console.Write("请输入正确的邮箱地址!!");
                                        }
                                    }
                                    else
                                    {
                                        Console.Write("请输入正确的邮箱地址!!");
                                    }
                                }
                                else
                                {
                                    Console.Write("请输入正确的邮箱地址!!");
                                }
                            }
                            else
                            {
                                Console.Write("请输入正确的邮箱地址!!");
                            }
                        }
                        else
                        {
                            Console.Write("请输入正确的邮箱地址!!");
                        }
                    }
                    else
                    {
                        Console.Write("请输入正确的邮箱地址!!");
                    }
                }
                else
                {
                    Console.Write("请输入正确的邮箱地址!!");
                }
    
                return (mail);
            } 
    
    
         static void Main(string[] args)
            {
                //Program hanshu= new Program();
    
                //有参数,无返回值
                //Console.Write("请输入一个邮箱地址:");
                //string a = Console.ReadLine();
                //hanshu.Mail("lll@qq.com");
    
                //无参数,无返回值
                //hanshu.Mail1();
    
                //无参数,有返回值            
                //Console.Write((hanshu.Mail3(a)).Substring(2,3))
    
                //有参数,有返回值
                //Console.Write("请输入一个邮箱地址:");
                //string a = Console.ReadLine();
                //Console.Write((hanshu.Mail3(a)).Substring(2,3));
    }

           2、 //输入班级人数,根据人数输入每人分数, 加十分(用到函数)

         public double[] FenShu(double[] score)
            {
                for (int i = 0; i < score.Length; i++)
                {
                    score[i] += 10;
                }
                return score;
            }
          static void Main(string[] args)
            {
                //Console.Write("请输入班级人数:");
                //int n = int.Parse(Console.ReadLine());
                //double [] score=new double[n];
                //for (int i = 0; i < n; i++)
                //{
                //    Console.Write("第{0}个人的分数是:",i+1);
                //    score[i] = double.Parse(Console.ReadLine());
    
                //}
                //Console.Write("所有信息输入完成,请按回车查看!");
                //Console.ReadLine();
                //Program hanshu = new Program();
                //score= hanshu.FenShu(score);
                //foreach (double aa in score)
                //{
                //    Console.WriteLine(aa);         
                //}
    
                //Console.ReadLine();
              }

          3、 //猜拳
                //1 剪刀 2石头 3布
                //人-电脑 
                // 0平局
                // -1输
                //-2 赢
                //2 输
                //1 赢

           
                for (int i = 1; i > 0; i++)
                {
                    Console.Write("猜拳 请输入:(剪刀,石头,布)中的一个!");
                    string quan = Console.ReadLine();
    
                    if (quan == "剪刀" || quan == "石头" || quan == "")
                    {
                        int ren = 0;
                        switch (quan)
                        {
                            case "剪刀":
                                ren = 1;
                                break;
                            case "石头":
                                ren = 2;
                                break;
                            case "":
                                ren = 3;
                                break;
    
                        }
                        Random ran = new Random();
                        int dian = 0;
                        dian = ran.Next(1, 4);
                        switch (dian)
                        {
                            case 1:
                                Console.Write("电脑出的是剪刀!");
                                dian = 1;
                                break;
                            case 2:
                                Console.Write("电脑出的是石头!");
                                dian = 2;
                                break;
                            case 3:
                                Console.Write("电脑出的是布!");
                                dian = 3;
                                break;
                        }
                        Console.WriteLine();
                        int d = ren - dian;
                        if (d == 0)
                        {
                            Console.WriteLine("本局是平局。");
                            break;
                        }
                        else if (d == -1 || d == 2)
                        {
                            Console.WriteLine("本局你输了!");
                            break;
                        }
                        else
                        {
                            Console.WriteLine("本局你赢了!");
                            break;
                        }
    
                    }
                    else
                    {
                        Console.WriteLine("您的输入有误!");
    
                    }
    
                }
    
                Console.ReadLine();
  • 相关阅读:
    最新版 VS2015|Visual Studio Enterprise 2015简体中文版(企业版)
    MY97 日期控件只输入今天之前的值
    VARIANT类型
    C++ Struct
    MFC网络编程
    套接字编程(VC_Win32)
    套接字相关函数
    网络编程
    char str[] 与 char *str的区别详细解析
    Windows下C++多线程同步与互斥简单运用
  • 原文地址:https://www.cnblogs.com/longhaijun/p/5723377.html
Copyright © 2020-2023  润新知