C#属性、结构体、索引器、泛型
来源:互联网 发布:雪人企业版是什么软件 编辑:程序博客网 时间:2024/06/05 03:46
原文地址:http://www.cnblogs.com/DreamOfLife/archive/2012/09/11/2680422.html
1.属性 – property
属性的主要作用就是提供了灵活的机制来访问类的私有字段。属性的定义方式如下:
public class PropertyTest
{
private int age;
public int Age
{
get { return this. age;}
set {this. age = value;}
}
}
通过get、set对属性的值进行操作,体现了面向对象的封装性。
set方法里的value 是一个隐藏的参数,表示当前需要设置的数据值。
属性中get、set方法分别表示数据的可读、可写性质。可以设置为可读或可读写方式。
2.结构体
结构体的声明需要使用关键字struct。结构体属于值类型,不需要堆分配内存空间。结构体的声明方式与类相似,有访问修饰符、struct、结构名和结构体四部分构成。
结构体的一些特点:
(1). 结构体的实例化可以不使用new 运算符。如 Point p; p.x…; p.y…来直接定义结构体中的数据对象。
(2). 结构体可以声明构造函数,但必须带有参数。
(3). 结构体不能从继承自其他的结构体或类,也不能作为基类。
(4). 结构体可以实现接口。
3. 索引器
索引器允许类或结构的实例对象像访问数组元素一样进行索引。在定义的时候可以采用get 和set 方法,具体声明方式如下:
[访问修饰符] 数据类型 this [数据类型 变量名]
{
get{};
set{};
}
索引器的使用一般是针对类的数组元素。
4. 泛型
泛型是C#2.0中引入的内容,主要是通过不适用具体的数据类型来实现类型安全的数据结构。泛型最显著的作用就是创建集合类。它具有的优点如下:
(1)避免了在运行中的强制转换或装箱拆箱操作带来的性能损失和风险。
(2)泛型是类型安全的。
在泛型的使用中,用一个通用的数据类型T来作为一个占位符,等待在对象实例化时才指定具体的数据类型带替代。
下面使用泛型来定义一个新的栈:
public class Stack<T>
{
private T[] items;
private int count;
public Stack(int size)
{
items = new T[size];
count = 0;
}
public void Push(T x)
{
item[count++] = x;
}
public T Pop()
{
return items[count--];
}
}
在实例化该栈时,需要使用下面的语句:
Stack<int> stack = new Stack<int>(5);//表示定义了一个存放int型数据的栈
- C#属性、结构体、索引器、泛型
- c#属性 索引器
- C#索引器,属性
- C#属性索引和索引器
- C#属性和索引器
- C#索引器与属性
- C#属性和索引器
- C#之属性与索引器
- c#的属性和索引器
- c#中的字段 属性 索引器
- C#中方法,属性与索引器
- C# 索引器与属性的区别
- c#属性和索引
- C# 属性和索引
- C#索引器-索引器与数组属性的比较
- C#索引器-索引器和属性的区别
- C#索引器与索引属性_百度文库
- 索引器与结构体
- SimpleDateFormat使用详解
- 在C语言中 switch语句的用法
- 排序算法之选择排序
- java 验证码之 patchca
- Linux下 nginx + php 环境搭建
- C#属性、结构体、索引器、泛型
- Leetcode #233 Number of Digit One
- Activity的生命周期
- HPU-ACM暑期培训第2周14级个人赛:Problem C
- TRIZ解题流程
- 从前台到后台的数组或集合为null问题
- hdoj 2524 矩形A + B
- 云计算的三种服务模式:IaaS,PaaS和SaaS
- 趣味数学---图论四人过桥