(一)C#基础加强系列之“方法”篇

标准语法:

[访问修饰符]  [static]  返回类型  方法名 ([参数列表])

{

     方法体

     return  [返回值]

}

 上面的写法,也就是C#中标准的方法的书写的方式,首先,我们先来看一个例子:

 

无参有返回值  方法:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _01方法_无参有返回值_
{
    class Program
    {
        static void Main(string[] args)
        {
            //求100以内所有偶数的和:
            Console.WriteLine(NumSum());//调用方法,并且将函数所得到的返回值直接打印出来
            Console.ReadKey();
        }

        public static int NumSum()//返回值类型  int   参数   无                     无参有返回值的方法
        {
            int num = 0;
            for (int i = 0; i <= 100; i++)
            {
                if (i % 2 == 0)         //强调一下:/:代表取整      %:代表取余
                {
                    num += i;
                }

            }
            return num;

        }
    }
}

得到的结果为:

 

下面我们来讲解一下这个简单方法的执行流程:(方法即函数)

注意事项:

当我们写函数时,有一点要注意的是,不能将方法直接写在Main()函数当中,记住,函数中不能嵌套函数,因为Main()函数也是一个函数。

 

 

详解:

以  “无参有返回值  方法”   为例:


public :访问修饰符  该修饰符表示公共的,表示大家都可以用, 关于访问修饰符   博主会在后续的连载中详细的介绍   暂时记住public就可以了

static:静态标记 记住:在静态方法中,只能直接访问静态的成员,因为Main函数是静态方法,当我们定义的函数标记成static时,在Main方法中调用方法时,可以直接调用 ,上面的代码大家也看到了,我是直接在Main()方法中调用NumSum()的,但是有同学要问,我方法不用static标记的话,在Main()函数中可不可以使用呢?答案是可以的,怎么用呢?看下面的事例代码:

无参无返回值  方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _02方法_无参无返回值_
{
    class Program
    {
        static void Main(string[] args)
        {
           
            //想要在静态方法中调用非静态方法必须先  实例化    
            Program p = new Program();  
            p.SayHello();

            Console.ReadKey();
        }

        public  void SayHello()   //无参无返回值的方法
        {
            Console.WriteLine("Hello,Mr Lucky");
        }
    }
}

得到的结果为:

所以说,在静态方法中想要使用其他非静态的成员,是可以实现的。

 

大家有可能会对  “在静态方法中,只能直接访问静态的成员”  这句话理解起来有些吃力,那么,我再将这句话好好翻译一下:

在静态方法中,我们可以定义非静态字段,可以直接在静态方法中使用,这是因为这些字段本身就是在静态方法中定义的,就像我们在Main()方法中可以直接定义  int  a  一样,

但是,如果在静态方法中,想使用其他的方法或者字段时,那么其他的字段或方法最好就是静态的,因为这样就不需要先 “实例化”  然后再使用了,省去了实例化的步骤。

另外,如果一旦声明了一个静态的字段或者方法,那么这个字段或方法会一直存在,直到整个程序结束,该静态方法或字段才会被释放。所以说,在程序中不要大量的使用静态字段或方法,有利于节约内存。

 

int :返回值类型 表明该函数返回值的类型应该是int类型的   也就是说,在 return 的时候,返回的值就应该是 int 类型的值。(暂时不考虑多态)

NumSum:函数名

 

 

上面介绍了 “无参有返回值  方法”  和 “无参无返回值  方法“,接下来就简单写一下  ”有参无返回值  方法“  和  ”有参有返回值  方法“:

 

有参无返回值  方法:

事例代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _02方法_有参无返回值_
{
    class Program
    {
        static void Main(string[] args)
        {
            Func(1);
            Console.ReadKey();
        }

        //参数定义  必须是  类型+类型名
        public static void Func(int num)//有参无返回值的方法    
        {
            Console.WriteLine(++num);
        }
    }
}

得到的结果为:

 

有参有返回值  方法:

事例代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _04方法_有参有返回值_
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(NumSum(5, 5)); //调用   NumSum()方法,并写入参数
            Console.ReadKey();
        }

        public static int NumSum(int num1, int num2)
        {
            return num1 + num2;  //将传过来的参数相加,并将结果返回
        }
    }
}

得到的结果为:

 

再讲一下  return

 

(1)严格意义上讲:return 可以不直接写在最后,可以写在方法体中的任何位置,但是,要注意的是,执行方法中的return时,值要遇到return,方法就立即结束。

(2)没有返回值的方法,也可以有return。这个return在在这里的含义是:不代表要返回的值,而是表示结束该方法。

  事例代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _05return
{
    class Program
    {
        static void Main(string[] args)
        {
            SayHello();
            Console.ReadKey();
            
        }

        public static void SayHello()
        {
            Console.WriteLine("Hello,Mr Lucky C#");
            return;
            Console.WriteLine("Hello,Mr Lucky Java");
        }
    }
}

得到的结果为:

 而当我们把return放到  Console.WriteLine("Hello,Mr Lucky Java");  之后,或者不写return,得到的结果为:

 

C#基础加强系列之“方法”篇  讲的是C#中最基本的方法的一些语法、执行流程、那么方法的好处是什么呢?主要是为了提高程序设计的效率,节省相同程序段的重复书写,是一个相对独立的基本模块,在日后的连载中会经常的使用到方法,所以大家要好好看,更多的知识,大家期待以后的不断的连载吧。

我写的总结知识主要是为了帮大家理清理清思路,更多的还要靠大家自己的不断的专研。

 

最后,希望大家能提出你们宝贵的意见,提出你们的想法,让所有人都能分享,知识不仅仅是为自己学的,当我们学到了知识后,更有意义的是分享,不对吗?

 

 

今天有时间提前写了一篇总结,更多的总结会在10月份开始陆续的推出来的,大家期待吧。

posted @ 2012-09-24 19:38  乐文  阅读(737)  评论(2编辑  收藏  举报