zoukankan      html  css  js  c++  java
  • C#中的方法,方法的重载,以及几个关键字

                  嘿嘿,今天来的早点啦,主要有问题解决不了,希望看到的亲们知道怎么整的给我说下,先谢谢哦:-D

                 <一>首先复习了三元表达式:即  表达式1,表达式2,表达式3;

                                               举例: bool result = 5 > 3 ? true : false;

                 <二>随机数的产生,这个话说用的不多吧,但是还是知道的好 即:

                    

    Random r=new Random();
    Int number=r.Next(1,11);产生1-10的数

       这就是一方法吧,感觉挺好玩的,可以试下。

                 <三>然后学习了方法,我在云和学院学习,在这老师给我们的理解是:方法就是将一堆代码进行重用的一种机制。方法就是一段代码,这段代码可能有输入的值(参数),可能会返回值。一个方法就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。由于我们现在了解的还不多,所以老师只能简单的让我们了解了···

    方法的定义:看见static就是静态方法

    [访问修饰符] [static] 返回值类型 方法名()

    {

    方法体;

    }

    •命名规则:方法名开头大写,参数名开头小写,参数名、变量名要有意义
    •方法的调用,对于静态方法,调用有两种方式
    •如果在同一个类中,直接写名字调用就行了.
    •或者类名.方法名();
    •return可以立即退出方法.

                 今天也学习了几个实例,但是我写下我做的练习吧

                 (1)重复让用户输入一个数,判断该数是否是质数,输入q结束?质数的判断用方法来实现bool IsPrime(int number)

    class Program
        {
           static void Main(string[] args)
            {
                Console.WriteLine("请输入一个数字:");
                int nums = int.Parse(Console.ReadLine());
                IsPrime(nums);
                Console.WriteLine(IsPrime(nums));
                Console.ReadKey();
            }
            public static bool IsPrime(int num)
            {
                int s=2;
                string nums = string.Empty;
                bool flag = false;
                for (int i = 1; i < s; i++)
                {
                    flag = s % i == 0;
                    if (nums == "q")
                    {
                        break;
                    }
                }
                Console.WriteLine("这是一个质数");
                return false;
            }
        }

        在方法IsPrime中,需要把num转换成string,就是这句string nums = string.Empty;不知道该怎么改写,导致最后输出的不对,很纠结···

                     (2)用方法实现找出一个int类型数组中最大值和最小值

    class Program
    {
      static void Main(string[] args)
            {
                int[] nums ={23, 45, 12, 3, 2, 56, 58, 46, 59, 12};
                int num = Max(nums);
                int num0 = Min(nums);
                Console.WriteLine("最大的值{0}",num);
                Console.WriteLine("最小的值{0}", num0);
                Console.ReadKey();
            }
            /// <summary>
            /// 最大值
            /// </summary>
            /// <param name="arrey"></param>
            /// <returns></returns>
            public static int Max(int[] arrey)
            {
                int max = 0;
                for (int i = 0; i < arrey.Length; i++)
                {
                    if (max < arrey[i])
                    {
                        max = arrey[i];
                    }
                }
                return max;
            }
            /// <summary>
            /// 最小值
            /// </summary>
            /// <param name="arrey"></param>
            /// <returns></returns>
            public static int Min(int[] arrey)
            {
                int min = 0;
                for (int i = 0; i < arrey.Length; i++)
                {
                    if (min > arrey[i])
                    {
                        min = arrey[i];
                    }
                }
                return min;
            }
        }

      这个方法比较简单,写方法比较简单,调用起来也没有好多搞不清楚让人晕的感觉。。。所以感觉自己还是需要多努力,多写几个方法调用练习啦···

                 (3)用户只能输入0到100之间的数写一个方法否则提示超出范围

    class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("请输入一个数字:");
                int num = int.Parse(Console.ReadLine());
                Int(num);
                Console.WriteLine(num);
                Console.ReadKey();
            }
            public static int Int(int integ)
            {
                if (integ < 0 || integ > 100)
                {
                    Console.WriteLine("超出范围");
                }
                return integ;
            }
        }

    这个题也没有太难啦,所以就直接写出来啦···

                     (4)将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|郑大世”(用方法来实现此功能)

    class Program
        {
            static void Main(string[] args)
            {
                string[] nums = {"梅西","卡卡","郑大世" };
                Console.WriteLine(Dividing(nums));
                Console.ReadKey();
            }
            public static string Dividing(string[] array)
            {
                string name = string.Empty;
                for (int i = 0; i <array.Length; i++)
                {
                    name += "|" + array[i];
                }
                return name;
            }
        }

         这故事添加分隔符的,还可以啦,能写啦,嘿嘿····

       这些都是今天的练习题,明天上课老师会讲的,但是我还是像现在搞懂啦,希望能够帮我拉······

               <四>方法的重载,需要注意的是:方法名相同,但是可以是方法的方法的参数个数不同或者方法的类型不同···(这个对我自己说的,在方法中,返回值类型与参数的类型没有关系···),还有就是返回值类型不同不能定义同方法名的方法··········

                    举例看下:

                           这些 可以看到方法的重载的实例·········

                   <五> 关键字out和ref,举例如下:

                       (1)

    class Program
        {
            static void Main(string[] args)
            {
                int x = 5;
    
                Add(ref x);
                Console.WriteLine(x);
              
                Console.ReadKey();
            }
    
            static int Add(ref int x)
            {
                x++;//被赋值一份后传进来的值
                return x;
            }

                     (2)

    class Program
        {
            static void Main(string[] args)
            {
                int[] Array = {1,4,5,6,7,89 };
                int max;
                Max(Array,out max);
                Console.WriteLine(max);
                Console.ReadKey();
    
            }
    
            static void Max(int[] Array,out int max)
            {
    
                int m = 0;
                for (int i = 0; i < Array.Length; i++)
                {
    
                    if (Array[i] > m)
                    {
                        m = Array[i];
                    }
                   
                }
                max = m;
              
            }
        }

       这两个关键字很重要哦(⊙o⊙)…  而且老师也告诉我们说要记得额··········今天就写到这啦,还要好多问题要解决啦········

                         

    我是小白,新建立了一个的群:461431726,希望在这里和大家一起交流,共同学习。前端的话建议加群:646564351,谢谢
  • 相关阅读:
    2017-2018-1 20155218 《信息安全系统设计基础》第十一周学习总结
    # 课堂测试(CH6)20155218
    Elasticsearch6.0 IKAnalysis分词使用
    ELK6.0环境搭建及配置
    使用PHP抓取网站ico图标
    centos下apache+mysql+php安装及配置
    PHP的(Thread Safe与Non Thread Safe)
    作业九
    附加题
    作业八
  • 原文地址:https://www.cnblogs.com/dyxd/p/4090298.html
Copyright © 2011-2022 走看看