轻松学习C#的方法

2019-12-30 11:06:54王振洲

        一个方法的名称必须不同于在一个类中声明的所有其他非方法的名称。此外,必须不同于在同一类中声明的所有其他方法的签名。在写参数列表时,所有形参和类型形参都不能同名。
        下面编写一个简单的返回两个整型数的和的方法:      


 public int add(int a, int b)
     {
         return a+b;
     }

下面就具体介绍C#语言中的一些重要的基础的方法:
一、静态方法和实例方法
      静态方法是一个特殊的成员方法,不属于类的某一个具体的实例或对象,而属于类本身。静态方法不对特定实例进行操作,只能访问类中的静态成员。访问静态方法只能使用类名,而不需要创建对象,也不能使用对象名类引用,声明静态方法修饰符中必须有static关键字。
       实例方法可以使用类的任何成员。调用实例方法时,必须使用类的实例或对象来引用。实例方法对类的某个给定的实例进行操作,在实例方法类中可以使用this来访问实例。调用实例方法时,必须先创建一个对象。
       简单的说,静态方法只能访问静态成员,实例方法可以访问静态和实例成员。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象。同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接地允许静态方法使用实例成员变量,这是错误的。基于同样的道理,静态方法中不能使用关键字this。
例一、编程使用静态方法和实例方法


<span style="font-size:18px;">using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace Text 
{ 
  class A 
  { 
    int exaVar;//创建的一个为实例成员变量 
    static int stVar;//创建的一个静态成员变量 
    void tM()//实例方法 
    { 
      exaVar = 1;//等价于this.exVar=1 
      stVar = 1;//等价于A.stVar=1 
    } 
     static void sM()//静态方法 
    { 
      //exaVar = 1;//错误,静态方法不可以调用实例成员变量 
      stVar = 1;//等价于A.stVar=1 
    } 
    static void Main(string[] args) 
    { 
      A text = new A();//创建类A的对象为text 
      text.exaVar = 1;//对象text访问实例成员变量 
      A.stVar = 1;//只能使用类访问静态成员变量 
      //text.stVar = 1;//不能使用对象text访问静态成员变量 
      text.tM();//使用对象text访问实例成员方法 
      //text.sM();//不能使用对象text访问静态成员方法 
      A.sM();//使用类访问静态成员方法 
      Console.WriteLine(text.exaVar + A.stVar); 
      Console.ReadLine(); 
    } 
  } 
}</span>