属性 数据类型 方法参数

2017-12-05  本文已影响0人  TALY

属性

属性是这样的成员:它提供灵活的机制来读取、编写或计算某个私有字段的值。

可以像使用公共数据成员一样使用属性,但实际上它们是称作“访问器”的特殊方法。

这使得可以轻松访问数据,此外还有助于提高方法的安全性和灵活性。

get访问器,用来读取属性值,相当于调用Get方法。

set访问器,用来给属性赋值,相当于调用Set方法。

例如:public string brand="BMW";//字段

public string Brand {//属性

    get{ return brand ;}

    set{ brand=value ; }

}

不具有 set 访问器的属性被视为只读属性。

不具有 get 访问器的属性被视为只写属性。

同时具有这两个访问器的属性是读写属性。

可以在get 和 set 之前加入访问修饰符

同一

属性的 get 和 set 访问器可能

具有不同的访问修饰符。 例如,get 可能是 public 以允许来自类型外的只读访问;

set 可能是private 或 protected(限制访

问器可访问性)。

例如:public string Brand{

get{return brand;}

private set{brand=value;}

}

注意

仅当属性同时具有 set 和 get 访问器时,才能使用

访问器修饰符,并且只允许对其中一个访问器使用修饰符。

C#数据类型一览表

(暂时不考虑指针类型)

C#中有两种类型:引用类型和值类型。

值类型:在栈中分配空间,由系统自动分配。

引用类型:在堆中分配空间,由程序员用“new”来分配空间

(栈是相对较小的类似线性的空间,其中都是系统设定好的储存空间,标准且有序)

(堆是相对较大的无序的混乱的储存空间,由编写者创建并使用,由编写者使用new来分配空间)

由交换赋值看出区别

交换(交换a和b的值)

int temp=a;

a=b;

b=temp;

在做赋值操作的时候,值类型和引用类型有很大的区别。值类型变量互相赋值之后,两变量做的任何操作都互不影响,因为他们在不同的空间操作,值类型变量赋值又称为拷贝赋值;

位于值类型中的引用类型依然是引用类型

如:结构体中的string;

位于引用类型中的值类型依然是值类型

如:类中的值类型;

引用参数 ref

值类型参数想要达到引用类型参数的效果,需要用到引用参数。

引用参数以ref修饰符声明。

输出参数 out

如果想要一个方法返回多个值,可以用输出参数来处理.输出参数由out关键字标识,既它与普通形参相比只多了个out修饰,如:

数组参数 params

如果形参表中包含了数组型参数,那么它必须在参数表中位于最后,而且必须是一维数组类型。另外,数组型参数不可能将params修饰符与ref和out修饰符组合起来使用。

1.参数的长度可变。长度可以为0。

2.只能使用一次,而且要放到最后。

3.后跟数组类型,不能跟ref、out一起搭配使用

例题:

编一个程序,定义一个数组,再定义类以及方法,用方法(out接收受数据,用到params传递参数)找出数组中的最大数和最小数。publicvoidFind(outintx,outinty,params  int[]a)

{

x=a[0];//max

y=a[0];//min

for(int i=0;i<a.length;i++){

if(a[i]>x){

x=a[i];

}

if(a[I]<y){

y=a[i];

    }

}

Console.WriteLine("找到的最小值为{0},最大值为{1}",y,x);

}

intmax,min;

A1a1=newA1();

a1.Find(outmax,outmin,2,3,4,5,6,2,1,3,5,6);

this

当字段和形式参数一样的时候,可以在字段的前面加上this语句 来表示当前的

上一篇下一篇

猜你喜欢

热点阅读