C#教程第5讲方法1(学习笔记)

原创 2008年09月30日 20:50:00
第5讲  方法1
快乐乔巴的博客
视频讲师:陈广老师 
    今天我们来讲一下C#中的方法。
    PPT:方法是包含一系列语句的代码块。它实现了一定的功能,并拥有一个便于识别的名称,也便于在程序中调用。
    声明方法的语法
    成员访问修饰符  返回值  方法名称(参数列表)
    {
        //方法的内容
    }
    声明一个方法首先要定义它的访问修饰符,比如是Public,还是Private等等。接下来要写这个方法的返回值的类型,如果没有返回值则用void来代替。接下来是方法的名称由自己定义,方法的名称不可重复,大小写视为不同,这个不可重复是指的同一个类,或者是说同一个命名空间之下,如果处于不同命名空间之下方法的名称是可以相同的。接下来在小括号中编写参数列表,参数可以没有,也可以是多个,参数的类型可以是一个类型,也可以是多种类型,多个参数之间用逗号分隔。最后是方法的内容,方法的内容包含在{}之中,下面我们来简单编写一个方法。
    我们新建一个文件Method.cs:
接着我们进行编译:

屏幕上打印了一行字,没有问题。下面呢,我们把上的输出语句声明成一个方法。

我们编译程序结果也是一样的,我们是调用MyMothod这个方法在屏幕上打印了"this is a Method"这些字。
好,下面我们写一个如何带返回值的方法,代码如下:
我们执行编译效果如下:

我们看屏幕上打印出了当前的时间。下面我们演示一下带参数的方法,代码如下:

我们执行编译代码,并且在分别输入join,Tom,aaa和end,来检验我们程序的效果,如图:

从刚才的运行过程我们可以看出,程序不断的等待用书输入,并不断的调用MyMethod方法,而且打印出你所输入的字符串。
下面我们演示一下带多个参数的方法,代码如下:

执行编译代码,如图:

我们看屏幕上打印出i+k=8,也就是5加3等于8,得到了正确的结果。
    下面我们来讲一下共享变量。C#语言是一门完全面向对象的语言,它屏弃了全局变量,但是如果两个以上的方法要共享一个变量则要将此变量声明在类(Class)阶层。和局部变量不同的地方在于,类级别变量的生命周期是在此类加载到内存时就会自动地分配内存空间,要等到此对象被Common Language Runtime的垃圾回收器(Garbage Collector)回收时,才会释放掉所占用的内存空间。   
    以前我们在使用C++编程时,需要手工的编写代码去释放我们内存空间中编写的类或方法,而在C#中就不再需要做这样的工作了。C#中的垃圾回收不在我们的程序中进行,而是由.NET统一在适当的时候进行。这大大减少了写出不合理代码的可能性,也增加了编程的效率,使得我们可以更加专注于程序的逻辑,下面我们来演示一下如何共享变量。
    我们该一下刚才的代码,代码如下:

我们看看静态变量i是否在2个实例a和b之间共享,编译执行代码:

    屏幕上显示的结果是2,也就是说add()这个函数被调用了2次,而这次调用是通过2个不同实例来调用的。换句话说,不管类A创建了多少个实例,所有的实例始终共享这个i。这样通过static这个关键字声明一个静态变量就可以实现全局函数的功能了。
    现在我们来做个实验,删除static这个关键字,我们看看程序会不会报错~会,编译不通过,错误原因就是A.i。也就是说非静态的变量不能直接使用名称来访问,但是我们可以使用实例来访问。假如改成b.i通过实例b来访问i。代码中同样调用了2次add()方法,我们进行编译看执行的结果却是1。也就是说a和b这2个实例里面各有一个i的副本,而b实例中的i只增加了一次,所以结果是1。好这节课先讲到这里。
由快乐乔巴听课摘写笔记

《疯狂Java讲义》学习笔记

教材《疯狂java讲义》14.10.30更新:前4章; 14.11.05更新:第5章、第6章; 14.11.21更新:第7章、第8章; 14.12.01更新:第8章1-3节; ...
  • chnqutan
  • chnqutan
  • 2014年10月30日 16:18
  • 1143

Lucene5 学习笔记(1) —— Hello World

这是第1节的内容,让我们对 lucene 全文搜索引擎有一个大概的认识。 对应 孔浩老师 01_lucenc简介和创建索引初步 这1节视频的内容。全文搜索引擎存在的意义:根据索引来查找,提高效率。方...
  • lw_power
  • lw_power
  • 2015年03月01日 22:05
  • 1826

吴恩达机器学习笔记_第二周

多元线性回归的情况: 符号表示方法,上标表示第几个样本,下标表示第几个特征。   多元线性回归的梯度下降: 当代价函数有多个参数时(即多个特征时):   使用梯度下降实用技...
  • hunterlew
  • hunterlew
  • 2016年04月11日 21:31
  • 2901

韩顺平_php从入门到精通_视频教程_第5讲_无序列表_有序列表_框架_学习笔记_源代码图解_PPT文档整理

文西马龙:http://blog.csdn.net/wenximalong/ HTML不区分大小写,但最好统一。 练习题:课程表 定义表头 和从本质上是没有区别的,但是用了会自...
  • wenximalong
  • wenximalong
  • 2012年11月11日 17:41
  • 2746

C#教程学习笔记资料1

  • 2009年03月20日 23:20
  • 2.25MB
  • 下载

《C#高级教程》学习笔记1

《C#高级教程》学习笔记1 第一天: 前注: 最近想学C#了,于是便买了一本《C#高级教程》,不过书太厚了,一千五百多页,肿么办,我想快点啃完这本书。两个月怎么样(最起码在过年前)。好吧...
  • svowwc
  • svowwc
  • 2014年12月03日 12:23
  • 429

head first C#学习笔记-构建动态控件(继承PictureBox的方法)

  • 2016年10月30日 23:26
  • 516KB
  • 下载

《C#入门经典》第六版 学习笔记之第十章 定义类成员(1) 10.3 接口的实现~10.5 部分类方法定义

10.3 接口的实现 1、如何定义和实现接口? interface I {     //interface members. } 2、接口成员的定义与类成员的定义相似,但有个重要区别: ...
  • lzh3312
  • lzh3312
  • 2014年01月26日 02:14
  • 711

《C#入门经典》第六版 学习笔记之第十章 定义类成员(1) 10.1成员的定义~10.2类成员的其他方法

10.1 成员的定义 在类一种,也提供该类所有成员的定义——字段、属性、方法。所有成员都有自己的访问级别(可以对比类的访问级别): public——成员可以由任意代码访问。 private——成员只能...
  • lzh3312
  • lzh3312
  • 2014年01月26日 02:10
  • 726

eclipse插件开发学习笔记_教程1

  • 2012年07月26日 23:43
  • 40.06MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#教程第5讲方法1(学习笔记)
举报原因:
原因补充:

(最多只允许输入30个字)