zoukankan      html  css  js  c++  java
  • C#基础知识总结(六)

    摘要

      方法的总结:其中包含方法的解释、方法参数、方法返回值,方法重载,out、ref、in的用法
    一、C#面向过程方面的总结
      顺序结构:程序按照程序代码的顺序执行
      分支结构:if-else、switch-case
      循环结构:while、do-while、for、foreach
      跳转语句:break、continue

    二、类和类成员访问级别
      private,protected,internal,public
      具体见另一篇文章:https://www.cnblogs.com/yezongjie/p/20181121AccessRights.html

    三、方法
      1.方法的解释

        C语言叫函数,没有方法之说
        C#中叫做方法,有些说法说是把静态的方法叫做函数
        注:多次使用的代码,就可以提取成一个方法,然后可以多次使用(达到复用的效果,也可以是封装)
          方法有输入参数,有输出参数,并且都是可选的

      2.方法功能
        用来复用代码的,当我们在一个过程中反复的写了同样的代码,那一般情况下,我们可以把需要重复写的代码定义在一个方法中。用的时候只需要调用就行了。
      3.定义方法的语法
        [访问修饰符] [static] 返回值类型 方法名([参数])
        {
          方法体
        }
      4.注意点
        1.一般情况下,方法一般定义在类中
        2.方法没有返回值的话,返回值类型写void
        3.如果方法没有参数,后面的括号()不能省略,不管是定义还是调用都不能省略
      5.调用方法方式
        方法名();(如果方法是静态的方法,调用方式为:类名.方法名();)
        注:程序执行到调用方法的地方,会进入到方法内部,方法执行完毕会回到调用的地方,再往下继续执行。

    四、变量
      变量的作用域是:在变量定义之后,直到语句块之前有效。
      注:一个变量一旦定义在方法外面,类的里面,就叫做类的字段,这个变量就可以被本类的所有方法所访问。但是要注意的是,静态方法只能访问静态字段(字段或方法前加了static修饰的叫做静态)

    五、方法的参数(叫做形参)
      例:public static int AddFunction(int a)
      {
        a++;
        return a;
      }
      其中int a,叫做方法的参数(形参):参数用于接受调用方传入的数据
      方法的调用则必须给参数赋值,并且此参数可以在方法中使用。
      调用方法时,参数个数必须与定义的参数个数相同,且参数类型必须一致。

    六、返回值
      例:int a = Convert.ToInt32("22");
        为什么方法前面能够定义一个变量收到方法的值,是因为在方法中使用了返回值
        只要在方法中返回了值,那么在调用方法中,前面就应该用一个变量来接受方法的返回值
      注意:一个方法只能有一个返回值!
         一旦一个方法有返回值,那么在这个方法中,就必须通过return语句返回一个值,并且这个值要与返回值类型时相同的
      语法:return 值;

    七、方法的重载
      例子:
        Console.WriteLine();
        Console.WriteLine("aaa");
        Console.WriteLine(123);
        Console.WriteLine('a');
        输入参数不同,但是方法名称相同

      什么是方法的重载:
        在同一个类中(也可以是子类与父类),方法名相同,并且方法的参数个数或者是对应位置的参数类型不同,与返回值无关。

    八、方法返回多个值(out)
      方法中普通的形参是输入参数。
      如果在参数类型前面加out,那么调用方法时,实参前面也必须加一个out,那么表明这个参数不是传入的,而是用来传出的。
      如果方法参数的类型前面有一个out,那么在调用的时候不能对其赋初始值。且方法在使用这个参数之前或者是方法结束之前,必须对这个参数进行赋值。(因为方法参数加了out之后,它就代表是一个输出参数)

      例如C#中封装好的int.TryParse(string s;out int result)方法,返回参数为一个bool类型,但是out int result也是一个返回值;

    九、ref修饰方法的参数(表示是按引用传递)(传入的是地址)
      out用于传出值
      ref可以理解为是双向的,既可以传入,又可以传出

    十、in
      in的作用:用来修饰方法的参数。in 指定此参数由引用传递,但只由调用方法读取(不能修改)。
      注:

        作为 in 参数传递的变量在方法调用中传递之前必须进行初始化。 但是,所调用的方法可能不会分配值或修改参数。
        较大的变量按引用传递,而不用花费资源再去copy一份,可以提升性能
        in修饰参数是可以重载函数的,但是out和ref不行
          重载规则见:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/in-parameter-modifier


    十一、reflector工具
      reflector工具可以用来对程序进行反射,查看程序的源码,非常有用

  • 相关阅读:
    获取声音设备名称及PNPDeviceID
    定时音乐播放
    获取多媒体详细信息列表
    产品滚动展示
    制作电影特效效果
    十字光标定位
    获取指定点的RGB值
    绘画小游戏
    倒影效果文字
    浮雕效果显示图像
  • 原文地址:https://www.cnblogs.com/yezongjie/p/20181130CSharpBasicSix.html
Copyright © 2011-2022 走看看