//用索引取一个记录中的各项

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

{

ind 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()

{

IndexRecord record = new IndexRecord();

record[0] = "马克 吐温";

record[1] = "Crox出版公司";

record[2] = "汤姆 索亚历险记";

Console.WriteLine(record["Title"]);

Console.WriteLine( record[ "Author" ] );

Console.WriteLine( record[ "Publisher" ] );

}

}

//属性

class Person

{

public string Name{set;get;}

}

C# 属性和索引的更多相关文章

  1. C#中方法,属性与索引器

    C#中方法,属性与索引器: TODO: 1,关于系统中常常出现的通过某一字段,查询相应实体信息(可能是一条字段或一条数据和一组泛型集合) 解说篇:1,方法,2,属性3.索引器 1.方法(1.依据状态编 ...

  2. (转)c# 属性与索引器

    属性是一种成员,它提供灵活的机制来读取.写入或计算私有字段的值. 属性可用作公共数据成员,但它们实际上是称为“访问器”的特殊方法. 这使得可以轻松访问数据,还有助于提高方法的安全性和灵活性. 一个简单 ...

  3. C# 属性、索引

    属性(property): public string Name { get { return _name; } set { _name = value; } } 简写为: public string ...

  4. MySQL (三)-- 字段属性、索引、关系、范式、逆规范化

    1 字段属性 主键.唯一键和自增长. 1.1 主键 主键:primary key,一张表中只能有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复. 一张表只能有最多一个主键. 1.1 ...

  5. javaScript数组的三种属性—数组索引、数组内置属性、数组自定义属性

    JS数组也是一种对象. 我们用JavaScript处理的所有东西,都可以视为是一种对象. JavaScript中有两种数据类型,基本类型数对象类型,但是基本类型基本都是包括在对象类型之中的. 数组.函 ...

  6. mysql表属性、索引、约束

    1.表属性 创建表的基本语法: create table [if not exists] 表名 (字段列表 [,索引或约束列表])[表选项列表] 其中,字段列表格式如下: 字段名 类型 [属性列表], ...

  7. es字符串字段类型的私有属性 建立索引的分析器 用于查询的分析器 短语查询优化

    除了公共属性外,基于字符串的字段还有私有属性 term_vector  是否计算该字段的Lucene词向量term vector no  默认值 yes with_offsets with_posit ...

  8. set,get方法(属性,索引器)

    很多时候我们不可以把一些字段暴露出来允许别人调用和修改,为了隐藏这些字段又便于加限制的使用,在面向对象编程中一般采用写get set函数的办法,比如: //字段_age, "_"表 ...

  9. python __getitem__, __setitem__ 实现属性的索引式存取

    class MyDictionary(object): """docstring for MyDictionary""" kv = {} d ...

随机推荐

  1. zabbix搭建

    首先创建zabbix组和用户 groupadd zabbix useradd -g zabbix zabbix mkdir -p /app/local/zabbix#然后创建zabbix编译安装目录 ...

  2. Flash性能优化

    Adobe Scout All the internal operations of Flash Player. Flash Builder Actionscript 3 code level pro ...

  3. ecshop商品-》获取促销商品

    lib_goods.php->function get_promote_goods(){} /** * 获得促销商品 * * @access public * @return array */ ...

  4. ecshop 团购点击价格变动

    前提:价格阶梯只能设置一级 需要用到: jquery,transport.js(transport_jquery.js),Ajax.call html页面 js代码,还需要插入jquery,trans ...

  5. PasswordHasher

    namespace Microsoft.AspNet.Identity { public class PasswordHasher : IPasswordHasher { public virtual ...

  6. NoSQL 简介及什么是AICD

    NoSQL 简介 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL". 在现代的计算系统上每天网络上都会产生庞大的数据量. 这些数据有很大一部分是由关 ...

  7. Java序列化的几种方式以及序列化的作用

    Java序列化的几种方式以及序列化的作用 本文着重讲解一下Java序列化的相关内容. 如果对Java序列化感兴趣的同学可以研究一下. 一.Java序列化的作用    有的时候我们想要把一个Java对象 ...

  8. iOS 加急申请每个开发者必须会

    加急申请原来做过很多次,有成功,有拒绝(最终还是成功,一次不行,被拒绝后多来几下即可,直到成功).但是听朋友说了一件事情,很是不解:他们希望能快速审核上线,在淘宝里面找加速商店,首次上线12000元, ...

  9. fedora各个版本的下载地址archive

    archive: ['a:kaiv] she went to the city archive this morning. ==================== === fedora 的下载地址是 ...

  10. hdu5024 Wang Xifeng's Little Plot (水

    http://acm.hdu.edu.cn/showproblem.php?pid=5024 网络赛 Wang Xifeng's Little Plot Time Limit: 2000/1000 M ...