.net编程之路(三)

2008-07-25 16:03:28.0     推荐:0    收藏:0    评论:0     来源:中国IT实验室

第三章 对象和类型

一、类和结构的区别

类是存储在堆当中的引用类型,如果需要存储在堆栈上可以在类名后加上Struct,例如类CustomerList是存储在堆上的,当定义类CustomerListStruct则存储在堆栈上。

结构是存储在堆栈中的值类型。

在c#中将java中的成员变量称为字段。

二、类的成员

数据成员:字段、常量、事件

函数成员:方法、属性、构造函数、终结器、索引器

事件与函数的区别:事件就是一个函数,但是它是一个特别的函数,只有在用户激发了某一事件之后才会促使事件的发生,而函数是操作类中数据的某些定义的功能。

方法:

说明1、每个方法都必须要定义自己的访问权限,而不可以使用C++中的块。

说明2、在定义方法时,参数必需包含参数类型和引用名称,例如:(int xx,string yy)

说明3、如果方法有返回值,那么必须要与return一起使用,例如:return(xx+yy)

一个方法可以带有多个return语句,当方法定义为void类型时,可以不要return语句。

方法的调用:分静态方法和非静态方法调用,有JAVA编程经验的老兄都知道了,就不啰嗦了。

参数的传递:所有的参数都是通过值来传递的,但是当传递的是值类型的变量时,不管在方法体中对该变量作了什么改变,都不会影响该变量。但是如果变量传递的是引用类型的值,那么这个值会随着方法体中的引用而改变,例如数组等。字符串虽然是引用类但它例外。

强迫传递引用变量ref的使用:通常是通过值传递变量的,但是如果需要强迫改变传递的值,即转化为引用类型。用法如下: public staic void SomeMethod(int x,ref int y)
{
//do something here
Console.WriteLine({0}/n{1},x,y);
}
SomeMethod(x,ref y); //在调用函数时也要加上 ref


out关键字:

当函数要返回多个值时,需要通过引用值方式进行返回,前面我们已经知道引用值的传递必须要初始化,是不是每个变量都先初始化再传递,这样显然比较的麻烦,这里我们就可以使用out关键字来简化过程。

下面是一个例子: static int SomeMethod(out int i)
{
i= 100;
}
public static int main()
{
int i;
SomeMethod(out i);
Console.WriteLine(i);
}

[第1页]   [第2页]   [下一页]
您可以针对本文进行:[评论]  [收藏]  [推荐]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: