首页 >后端开发 >C#.Net教程 >关于C#中方法的阐述

关于C#中方法的阐述

Y2J
Y2J原创
2017-04-24 11:31:401460浏览

前言:

C#中的方法在C#编程中经常会用到,那么什么是方法,方法怎么用呢?在这里总结一下,希望大家能指出我的缺点。

1 什么是方法

   方法是C#中将一堆代码进行重用的一种机制。方法就是一段代码,这段代码可能有输入的值,可能会返回值。记得米老师之前讲过一个关于方法(函数)的比喻:一个方法就像是一口锅,而我们的米和水就像参数,把米和水放进锅里,然后就能做好饭。方法就是需要我们给它一些参数,然后它可能会给我们一些返回值。
   在.net framework中存在大量的方法,如MessageBox类中的Show方法,Console类中的WriteLine方法、ReadLine方法,Int32的Parse方法,Random类的Next方法。熟练的使用.netframework中的类库中定义的方法将会使编写程序更加快捷,迅速。

2方法的定义方式
   方法在类或结构中声明,声明时,声明时需要指定访问级别、返回值、方法名称以及任何方法参数。方法参数放在括号中,并用逗号隔开。空括号表示方法不需要参数。
如:
例1:

public static void SayHello()
{
     System.Console.WriteLine("Hello,World!");
}

例2:

  public static int Add(int x,int y)
        {
            int z=x+y;
            return z;
        }

以上定义了2个普通方法的定义。例1没有带参数,而例2带有2个参数. 如果要将参数传递给方法,只需在调用方法时在括号内提供这些参数即可。对于被调用的方法,传入的变量称为“参数”。
方法所接收的参数也是在一组括号中提供的,但必须指定每个参数的类型和名称。该名称不必与参数相同。

3 方法的调用

   方法在被调用时只需要注意参数即可,以及方法的返回值问题。如对例1定义的方法SayHello()进行调用。在另外一个方法内部直接输入代码语句SayHello()即可;。如对例2定义的方法Add()进行调用。在另外一个方法内部直接输入代码语句

inta = 1, b = 2,c;
  c = Add(a,b);

4 方法的返回值

方法可以返回任何类型的值,同样也可以不返回任何值。返回值类型在方法的头部得以体现。

如:方法定义格式:public int Method1(int x,int y)

此时可以看出Method1方法的返回值类型为int。

而方法的返回值往往是通过return语句带过去的。return语句可以终止它出现在其中的方法的执行并将控制返回给调用方法的代码。如果方法为void类型,则可以省略return语句。可以观察以下代码:

publicstatic string GetStr()
        {          
            string str=string.Empty;
            return str;
            str =System.Console.Read().ToString();
      }


5.方法的重载

   方法重载是让类以统一的方式处理不同类型数据的一种手段。在C#中,语法规定同一个类中两个或两个以上的方法可以用同一个名字,如果出现这种情况,那么该方法就被称为重载方法.当一个重载方法被调用时,C#回根据调用该方法的参数自动调用具体的方法来执行.
   什么是方法重载?在面对对象这样的高级语言中都允许我们在一个类中定义多个方法名相同、方法间参数个数和参数顺序不同的方法,对于参数个数不同或者参数列表不同的情况我们称之为参数列表不同。需要注意的是这里没有提到方法的返回值。也就是决定方法是否构成重载有以下几个条件:
      ◆ 在同一个类中;
      ◆ 方法名相同;
      ◆ 参数列表不同。
   在方法的重载中,显式优先匹配调用方法是给定的参数个数相同的方法
       ref和out不能作为重载的依据,需要使用时只能选其一,不能两个同时使用
       如果参数被ref或out修饰,则参数必须是变量
方法的返回值不构成重载的条件。
       方法的参数个数不同可以构成重载,当方法的参数个数相同是参数的类型不同也可以构成重载。
使用数组类型作为方法的参数:关键字params只能出现一次而且是出现在参数中的最后一个。

以上是关于C#中方法的阐述的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn