C#中的索引举例
2016-04-04 13:54
369 查看
源码:
using System;class IndexerRecord
{
private string[] data = new string[6];
private string[] keys = {
"Author", "Publisher", "Title",
"Subject", "ISBN", "Comments"
};
//注:程序中用了两种方法来索引:
//一是整数作下标,二是字符串(关键词名)作下标
public string this[int idx]
{
set
{
if (idx >= 0 && idx < data.Length)
data[idx] = value;
}
get
{
if (idx >= 0 && idx < data.Length)
return data[idx];
return null;
}
}
public string this[string key]
{
set
{
int idx = FindKey(key);
this[idx] = value;
}
get
{
return this[FindKey(key)];
}
}
private int FindKey(string key)
{
for (int i = 0; i < keys.Length; i++)
if (keys[i] == key) return i;
return -1;
}
static void Main()
{
IndexerRecord record = new IndexerRecord();
record[0] = "马克-吐温";
record[1] = "Crox出版公司";
record[2] = "汤姆-索亚历险记";
Console.WriteLine(record["Title"]);
Console.WriteLine(record["Author"]);
Console.WriteLine(record["Publisher"]);
}
}
运行效果如下:
相关文章推荐
- 总结整理 -- 爬虫技术(C#版)
- 用C#写的转换程序(将高版本项目转变成低版本)
- C#学习之旅一-初识
- C#中异常处理语句Finally
- C#判断一个string是否为数字
- C# mvc--ORM框架中EF的作用和特点
- C# mvc--EF中查询的本质
- c# abstract抽象类与继承类子类的构造函数_base
- C# mvc--EF引用程序集 和EDMX中相关的文件说明
- C#冒泡排序法及优化
- C# Encoding
- C# 读取EXCEL文件的三种经典方法
- 笔记:在C#中进行事务处理
- 用C#写的15子游戏
- C#中用PadLeft、PadRight 补足位数
- C# TreeView控件动态组树(可控制节点级别)
- C#转义字符
- C#的数据类型简介
- C#中OnLoad事件和Form1_Load事件的区别
- C,C#,WebService结构体数组返回问题--谐解