2016.7.31C#基础 函数

函数



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

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

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

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

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

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

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

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

例题:

1、 //练习:判断邮箱格式是否正确
            //1.有且只能有一个@
            //2.不能以@开头
            //[email protected]之后至少有一个.
            //[email protected]和.不能靠在一起
            //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("[email protected]");

            //无参数,无返回值
            //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();
时间: 2024-10-14 23:07:13

2016.7.31C#基础 函数的相关文章

php基础-常量-变量相关的基础函数

注释语句 //单行 # 单行 /* 多行注释 */ /** * 文档注释 * */ 常量定义 自定义常量 常量名区分大小写 系统的魔术常量不区分大小写 __DIR__  __dir__ 变量定义 变量名是区分大小写 变量名声明时用$符号开头, 而且要符合变量名的命名规则 $i; var_dump($i); $i = 'ok'; var_dump($i); $i = "Hello"; var_dump($i); $i = 20; var_dump($i); $i = 20.5; var_

iOS 基础函数解析 - Foundation Functions Reference

Foundation Functions Reference Framework Foundation/Foundation.h Declared in NSBundle.h NSByteOrder.h NSDecimal.h NSException.h NSObjCRuntime.h NSObject.h NSPathUtilities.h NSRange.h NSZone.h Overview This chapter describes the functions and function

基础函数

spl_autoload_register()函数,参数加的是autoload的路径. __autoload()这个是自动加载方法,那么spl_autoload_register()这个就是重新注册__autoload()方法. ucwords() 函数把字符串中每个单词的首字符转换为大写. php 5.3 后新增了 __call 与__callStatic 魔法方法. __call 当要调用的方法不存在或权限不足时,会自动调用__call 方法. __callStatic 当调用的静态方法不存

Excel 2016中的新增函数之CONCAT

Excel 2016中的新增函数之CONCAT 在2016年1月功能更新中,EXCEL 2016新增几个常用重要函数,主要有:ifs,switch,maxifs,minifs,concat,textjoin等. 注意,要能使用上述函数,Office的版本很重要,并不是所有的Office 2016能使用.建议 在https://products.office.com/zh-CN/try试用Office 365,安装最新版的Office 2016. 你也可以在通过Office 365安装程序进行在线

速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数

[源码下载] 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函数返回值 可变函数 匿名函数 闭包函数 回调函数 示例1.函数的相关知识点 1(基础)function/function1.php <?php /** * 函数的相关知识点 1(基础) */ // 可以在相关的 function 声明语句之前调用该函数 f1(); function f1() { echo "f1"; echo "<br />"; } // 这里调用

T-SQL基础函数

T-SQL基础函数 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描述. 函数类别 作用 聚合函数 执行的操作是将多个值合并为一个值.例如 COUNT.SUM.MIN 和 MAX. 配置函数 是一种标量函数,可返回有关配置设置的信息. 转换函数 将值从一种数据类型转换为另一种. 加密函数 支持加密.解密.数字签名和数字签名验证. 游标函数 返回有

2.7-Java语言基础(函数)

函数的定义 函数的特点 函数的应用 函数的重载 2.7.1  函数的定义 什么是函数? ? 函数就是定义在类中的具有特定功能的一段独立小程序. ? 函数也称为方法. 函数的格式: ? 修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,) { 执行语句; return 返回值; } 返回值类型:函数运行后的结果的数据类型. 参数类型:是形式参数的数据类型. 形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数. 实际参数:传递给形式参数的具体数值. return:用于

C语言文件的读入与写入及C#基础函数学习[图]

C语言文件的读入与写入及C#基础函数学习[图]学了一学期的C语言,还不怎么会使用指针,文件的读入和写入也不能很顺利的写出来,说起来好惭愧.碰巧今天朋友让我帮他编写一个C语言程序,对他数模要用到的大量数据求平均值(每天不同时刻对某一物理量进行检测,持续几十天,求那些时刻测得的物理量的平均值).代码很简单,关键是要掌握怎样对文件进行读入和写入(当然对于菜鸡的我来说,懒惰让我在大一没有好好学习,正好趁着这个契机把文件的基本的操作学会:))分模块来编写还是很重要的,可以使程序看起来简洁明了.写了两个函数

2016.9.13 JavaScript入门之六基础函数

1.Math.random()函数: 2.math.floor(x)返回小于参数x的最大整数,即对浮点数向下取整. 例如:random本身只产生(0~1)之间的小数,random()*10 意思是产生0~10之间的小数 3.Regular expressions正则表达式:正则表达式是用来在字符串中找到某些单词或模式的. 例如:如果我们想在字符串中找到:狗追猫,这个字符串,我们可以使用以下的正则表达式:/ the/gi 正则表达式的使用方法: /是正则表达式的开始.the我们要匹配的模式./正则