C#数组GetSet索引器分析
源码均在文末地址给出。
有时候需要对数组的数据进行封装控制,该怎么处理数组数据呢?设置数组的GetSet方法还是弄一个索引器来进行控制。接下来进行分别测试。
属性
C#中的属性,是对类内部的字段进行进一步的封装控制,安全性考虑。通过属性设置可以控制字段的读写控制,以及内部的进一步特殊处理。(如非法字符处理 越界处理等)
属性的定义:
访问修饰符 返回类型 属性名
{
get{语句集合}
set{语句集合}
}
普通字段的属性
如学生类中姓名字段
public class Student
{
private string name;
/// <summary>
/// 定义学生的姓名属性
/// </summary>
public string Name
{
get { return name; }
set { name = value; }
}
}
class Program
{
static void Main(string[] args)
{
Student student = new Student();
student.Name = "Jeff Wong";
//获取student.Name将执行属性的Get方法
//"Jeff Wong"执行属性的Set方法 从右到左进行
Console.WriteLine(student.Name);
Console.Read();
}
}
数组类型的属性(与集合类型属性相似)
class Test
{