Visual Studio 2010——C#中的属性与索引器
2013-03-28 20:08
369 查看
实验环境:Windows XP,Visual Studio 2010 Ultimate
类的索引器与属性功能类似,它可以把类虚拟成一个数组,可以按照访问数组的方式对类的数据进行访问,从而实现对数据的保护和隐藏。和属性一样,索引器的读写也是通过get,set访问器进行的,但是不同的是,它们需要参数。
1 创建项目
文件>>新建>>项目,选中“控制台应用程序”,如下图所示:
![](http://img.my.csdn.net/uploads/201303/27/1364368286_2730.png)
2 添加代码如所示意。
3 调试
单击菜单栏的“调试”|“启动调试”,结果如下图。
![](http://img.my.csdn.net/uploads/201303/28/1364473081_3815.png)
4 工程源码。点击这里下载。
参考资料
《C#实用编程百例》,清华大学出版社,何鹏飞,王征等 编著
《C#程序设计——基础教程与实验指导》——清华大学出版社,孙晓非 牛小平 冯冠 李乃文 编著
《C#程序设计与案例教程》,清华大学出版社,杨树林,胡洁萍 编著
类的索引器与属性功能类似,它可以把类虚拟成一个数组,可以按照访问数组的方式对类的数据进行访问,从而实现对数据的保护和隐藏。和属性一样,索引器的读写也是通过get,set访问器进行的,但是不同的是,它们需要参数。
1 创建项目
文件>>新建>>项目,选中“控制台应用程序”,如下图所示:
![](http://img.my.csdn.net/uploads/201303/27/1364368286_2730.png)
2 添加代码如所示意。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace PropertyIndexApp { class MyClass { private const int c_count = 100; private static int[] intArray = new int[c_count]; //第一个索引器,可读写,有两个参数 public int this[int index, int offset] { get { if ((index + offset) >= 0 && (index + offset) < c_count) { return intArray[index + offset]; } else return 0; } set { if ((index + offset) >= 0 && (index + offset) < c_count) { intArray[index+offset] = value; } } } private int m_strCount = 3; private string[] strArray = { "111","222","333"}; //第二个索引器,只读,一个参数 public string this[int index] { get { if ((index >= 0) && (index < m_strCount)) { return strArray[index]; ; } else return "NULL"; } } //实例属性,可读写 public int StrCount { get { return m_strCount; } set { if (value > m_strCount) { strArray = new string[value]; for (int i = 0; i < value; i++) { strArray[i] = string.Format("String No.{0}",i); } m_strCount = value; } } } private static string m_strName = "MyClass"; //静态属性,只读 public static string ClassName { get { return m_strName; } } } class Program { static void Main(string[] args) { MyClass m = new MyClass(); for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { //读写第一个索引器 m[i * 10, j] = i * 10 + j; Console.Write("No.{0}{1}:{2}",i,j,m[i*10,j]); } Console.WriteLine(); } for (int i = 0; i < m.StrCount; i++) { //读第二个索引器 Console.WriteLine(m[i]); } //实例属性写操作 m.StrCount = 5; //实例属性读操作 for (int i = 0; i < m.StrCount; i++) { //读第二个索引器 Console.WriteLine(m[i]); } //静态属性读操作 Console.WriteLine(MyClass.ClassName); } } }
3 调试
单击菜单栏的“调试”|“启动调试”,结果如下图。
![](http://img.my.csdn.net/uploads/201303/28/1364473081_3815.png)
4 工程源码。点击这里下载。
参考资料
《C#实用编程百例》,清华大学出版社,何鹏飞,王征等 编著
《C#程序设计——基础教程与实验指导》——清华大学出版社,孙晓非 牛小平 冯冠 李乃文 编著
《C#程序设计与案例教程》,清华大学出版社,杨树林,胡洁萍 编著
相关文章推荐
- 基于Visual Studio 2010 阐述C#4个特性
- visual studio 2010环境下在C#程序中嵌入、播放 wav音频文件 图文介绍
- Visual Studio 2010——C#的TreeView和ImageList控件的使用
- Visual Studio 2010——C#的Splitter和Panel控件的使用
- visual studio 2010环境下在C#程序中嵌入、播放 wav音频文件 图文介绍
- C#索引器与属性的区别,以及索引器使用方法
- Visual Studio 2010 Express - C# 使用SQLite数据库
- 常量、字段、方法、属性和索引器(C#)
- 基于Visual Studio 2010 阐述C#4个特性
- 黑马程序员之C#学习笔记:C#索引器与属性的区别、索引器的具体使用
- Visual Studio 2010——C#的ListView控件的使用
- 细谈C#中的索引器跟属性的区别
- C#属性和索引器
- 索引器和属性(C# 编程指南)
- 读<<CLR via C#>>总结(9) 索引器(有参属性)
- C#索引器与属性的区别,以及索引器使用方法
- C#实验6 属性及索引器
- Visual Studio 2010——C#的通用对话框控件的使用
- c#属性 索引器 静态属性
- 【C#每日一帖】索引器-索引器与数组属性的比较