C#中的索引器
来源:互联网 发布:淘宝cpu散片能买吗 编辑:程序博客网 时间:2024/05/22 02:03
说到索引器:大家都知道用下标来访问数组元素,而索引器与之类似,它允许类或者
* 结构的实例像数组哪样被访问,索引器是一类特殊的成员,他的定义方式与属性类似,只不过用
* this代替了属性名。其语法格式:
* 访问修饰符 数据类型 this [索引]
* {
* get { get访问器代码块 }
* set{set 访问器代码块}
* }
这里需要注意的就是 set没有返回值,代码块中不可以有 return 等字样
class Book
{
private long Isbn; //书的ISBN号
private string BookName; //书名
private decimal Price; //价格
public Book(long no,string name,decimal p)
{
Isbn=no;
BookName=name;
Price = p;
}
public string Display()
{
return String.Format("BookName-->{0}\tISBN-->{1}\tPrice-->{2}元",
BookName,Isbn,Price);
//Format 将任意类型的数据转换为字符串
}
}
class Shop
{
private Book[] books = new Book[10];
private int count = 0;
public int Count
{
get { return count; } //取数据
set { count=value; } //存数据
//由于“联习2.Shop.Count.set”返回 void,返回关键字后面不得有对象表达式
}
public Book this[int n]
{
get { return books[n]; }
set
{
if (books[n] == null)
count++;
books[n] = value;
}
}
}
#endregion
class Program
{
static void Main(string[] args)
{
Shop BookShop = new Shop();
Book book1=new Book(10,"VC#程序设计",23.5m);
Book book2 = new Book(20, "VB程序设计", 89m);
BookShop[0] = book1; //使用索引器的set访问器
BookShop[1] = book2; //使用索引器的set访问器
Book book3 = BookShop[BookShop.Count-1];//使用索引器的get访问器
Console.WriteLine(BookShop[0].Display());
Console.WriteLine(book3.Display());
Console.Read();
}
}
输出结果
本文出自 “紫金飞侠雷” 博客,请务必保留此出处http://leige1992.blog.51cto.com/5524181/1300815
- C#中的索引器
- C#中的索引器
- C#中的索引器
- C# 中的索引器
- c#中的索引器
- C#中的索引器
- c#中的索引器
- C#中的索引器
- C#中的索引器
- C#中的索引器
- C#中的索引器
- C#中的索引器
- C#中的索引器
- 概述C#中的索引器
- C#中的索引器概念
- 概述C#中的索引器
- C#接口中的索引器
- 浅析C#中的索引器
- C++字符串(string)
- Robotium 测试资料
- 获得数据中的数字部分
- RTP RTSP RTCP资料
- [iPhone高级] 基于XMPP的IOS聊天客户端程序(IOS端三)
- C#中的索引器
- “人不为己,天诛地灭”到底是什么意思?
- 给定一个整数数组,通过变换使得数组的左边为奇右边为偶数!
- Prefabs(预设)与 Instantiate(实例化)
- sscanf()的用法和例子
- TreeList 选中节点时图标状态和背景色
- 什么是API
- 解决onTouchListener和onClickListener冲突
- JDk标注@Override@Deprecated@SuppressWarnings