C# 属性和索引
//用索引取一个记录中的各项
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# 属性和索引的更多相关文章
- C#中方法,属性与索引器
C#中方法,属性与索引器: TODO: 1,关于系统中常常出现的通过某一字段,查询相应实体信息(可能是一条字段或一条数据和一组泛型集合) 解说篇:1,方法,2,属性3.索引器 1.方法(1.依据状态编 ...
- (转)c# 属性与索引器
属性是一种成员,它提供灵活的机制来读取.写入或计算私有字段的值. 属性可用作公共数据成员,但它们实际上是称为“访问器”的特殊方法. 这使得可以轻松访问数据,还有助于提高方法的安全性和灵活性. 一个简单 ...
- C# 属性、索引
属性(property): public string Name { get { return _name; } set { _name = value; } } 简写为: public string ...
- MySQL (三)-- 字段属性、索引、关系、范式、逆规范化
1 字段属性 主键.唯一键和自增长. 1.1 主键 主键:primary key,一张表中只能有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复. 一张表只能有最多一个主键. 1.1 ...
- javaScript数组的三种属性—数组索引、数组内置属性、数组自定义属性
JS数组也是一种对象. 我们用JavaScript处理的所有东西,都可以视为是一种对象. JavaScript中有两种数据类型,基本类型数对象类型,但是基本类型基本都是包括在对象类型之中的. 数组.函 ...
- mysql表属性、索引、约束
1.表属性 创建表的基本语法: create table [if not exists] 表名 (字段列表 [,索引或约束列表])[表选项列表] 其中,字段列表格式如下: 字段名 类型 [属性列表], ...
- es字符串字段类型的私有属性 建立索引的分析器 用于查询的分析器 短语查询优化
除了公共属性外,基于字符串的字段还有私有属性 term_vector 是否计算该字段的Lucene词向量term vector no 默认值 yes with_offsets with_posit ...
- set,get方法(属性,索引器)
很多时候我们不可以把一些字段暴露出来允许别人调用和修改,为了隐藏这些字段又便于加限制的使用,在面向对象编程中一般采用写get set函数的办法,比如: //字段_age, "_"表 ...
- python __getitem__, __setitem__ 实现属性的索引式存取
class MyDictionary(object): """docstring for MyDictionary""" kv = {} d ...
随机推荐
- redis主从复制操作
1. 33.10服务器上 启动三个redis bin/redis-server etc/redis.conf bin/redis-server etc/6380conf bin/redis-serve ...
- C# 文件操作大全
1.创建文件夹//using System.IO;Directory.CreateDirectory(%%1); 2.创建文件//using System.IO;File.Create(%%1); 3 ...
- JavaWeb学习笔记——Web开发模式:Mode I和Mode II
- 横竖屏切换时,Activity的生命周期
横竖屏切换时,Activity的生命周期 1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate-->onStart-->onRe ...
- DELL服务器引导光盘下载
http://www.dell.com/support/home/cn/zh/cndhs1/Drivers/DriversDetails?driverId=68RWT&fileid=27311 ...
- python sys os hashlib_MD5 模块
模块 内置模块是Python自带的功能,在使用内置模块相应的功能时,需要[先导入]再[使用] 一.sys 用于提供对Python解释器相关的操作: ? 1 2 3 4 5 6 7 8 9 sys.ar ...
- XStream使用总结
最近做webService报文转换的公共接口使用到了XSream工具库,写个小总结备忘... XStream是一个可以将javaBean与XML双向转换的java类库,本文内容基于xstream-1. ...
- step 4 GCD 队列演练
串行队列 特点 以先进先出的方式,顺序调度队列中的任务执行 无论队列中所指定的执行任务函数是同步还是异步,都会等待前一个任务执行完成后,再调度后面的任务 队列创建 dispatch_queue_t q ...
- Properties类的使用方法
它提供了几个主要的方法: 1. getProperty ( String key),用指定的键在此属性列表中搜索属性.也就是通过参数 key ,得到 key 所对应的 value. 2. load ( ...
- 2015年12月03日 GitHub入门学习(五)Markdown语法简介
Markdown一种标记语言,语法简洁,不像Word或Pages有大量排版.字体设置.常用的标记符号不超过十个.被大量写作爱好者.撰稿人.作家所青睐. 一.Markdown的优点 专注你的文字内容而不 ...