属性
属性是这样的成员:它提供灵活的机制来读取、编写或计算某个私有字段的值。
可以像使用公共数据成员一样使用属性,但实际上它们是称作“访问器”的特殊方法。
这使得可以轻松访问数据,此外还有助于提高方法的安全性和灵活性。
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语句 来表示当前的
网友评论