第一篇 .NET高级技术之索引器

基础知识补充

索引 器

没有名字 ,索引器的内部本质 (ILSpy的IL模式下看)类型 this[参数]{get;set;}

可以是只读或者只写(在get或者set前加上private)

字符串是只读索引,因此不能对字符串中的某个字符进行从新赋值,即只能char ch = s[5];不能s[5]=‘a’。

开发中自己写的机会很少,一道面试题:C#中索引器是否只能根据数字进行索引?是否允许多个索引器参数?答案:可以进行非数字索引,可以允许多个参数进行索引

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace TestConsole

{

class Program

{

static void Main(string[] args)

{

MyIntIndex myIntIndex = new TestConsole.MyIntIndex();//整型索引

string name1 = myIntIndex[1];

Console.WriteLine(name1);

Hashtable ht = new Hashtable();

ht.Add("001", "chizi");

ht.Add("002", "dandan");

MyStringIndex myStringIndex = new TestConsole.MyStringIndex(ht);//字符串索引

string name2 = myStringIndex["001"];

Console.WriteLine(name2);

Console.ReadKey();

}

}

class MyStringIndex

{

private Hashtable ht;//字符串索引用到哈希表来存放键值对

public MyStringIndex(Hashtable ht)

{

this.ht = ht;

}

public string this[string key]

{

get

{

string name =(string)ht[key];

return name;

}

set

{

ht[key] = value;

}

}

}

class MyIntIndex

{

private static string[] name = { "dandan", "chizi", "jianguo" };

public string this[int index]

{

get

{

string n = name[index];

return n;

}

set

{

name[index] = value;

}

}

}

}

更多技术请关注

posted on 2019-05-23 10:51 笨小孩做开发 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/dullbaby/p/10910611.html

第一篇 .NET高级技术之索引器相关推荐

  1. C#【高级篇】 C# 索引器(Indexer)

    C#学习汇总 - 总目录 C#[高级篇] C# 索引器(Indexer) 前言 一.语法 二.索引器(Indexer)的用途 三.重载索引器(Indexer) 总结 前言 索引器(Indexer) 允 ...

  2. 【高级内部资料】.NET数据批量写入性能分析 第一篇

    [高级内部资料].NET数据批量写入性能分析 第一篇 说起数据的批量写入,相信大家应该不陌生了,那么我们本系列的文章不准备讲述如何来进行数据的批量写入,而是介绍常用的数据批量写入方法的性能分析. 同时 ...

  3. MySQL技术总结第一篇

    (答辩完成,接下来一段时间会抓紧学习,月底回国.) 拿两三篇总结MySQL的知识点,补上之前的坑.这里第一篇主要讲粗略讲一下MySQL体系结构和存储引擎,通过对MySQL大体的认识,连带补充一些关于I ...

  4. mysql高级篇(二)mysql索引优化分析

    mysql高级篇笔记 mysql高级篇(一)mysql的安装配置.架构介绍及SQL语句的复习. mysql高级篇(二)mysql索引优化分析. mysql高级篇(三)查询截取分析(慢查询日志).主从复 ...

  5. 技术小白成长之路 - 谷歌云端 GCP Cloud Engineering - 第一篇 - 核心架构 Core Infrastructure

    谷歌云端 GCP Cloud Engineering Certificate - 第一篇 - 核心架构 Core Infrastructure 谷歌云端平台GCP简介 1. 谷歌云端平台GCP资源层次 ...

  6. 大数据技术原理与应用 第一篇 大数据基础

    目录 第一章 大数据概述 一. 大数据时代 1.1 三次信息化浪潮 1.2 信息科技发展 1.3 数据产生方式的变革 1.4 大数据的影响 二. 大数据的概念 2.1 大数据的特征 2.2 大数据关键 ...

  7. Linxu内核模块开发入门(金荣的第一篇个人技术博客)

    前言 第一次使用Markdown语法编辑的第一篇CSDN技术文章,内容为本人第一个内核模块的入门教程,如有不完善的地方,请大家多多批评指正,支持开放.自由.分享,谢谢大家. Linxu内核模块开发入门 ...

  8. 查询优化器内核剖析第一篇

    查询优化器内核剖析第一篇 查询优化器内核剖析第一篇 查询优化器内核剖析第二篇:产生候选执行计划&执行计划成本估算 查询优化器内核剖析第三篇:查询的执行与计划的缓存 & Hint提示 查 ...

  9. C语言高级技术之--游戏属性修改器(背景故事)

    前些天,由于看朋友在玩单机游戏仙剑3(这么早的游戏,早不完了),看得我实在太累,问他为什么不找修改器之类的,那样轻松一些,他的回答让我很无语,他说:"老是下到病毒木马,系统已经重装4-5次了 ...

最新文章

  1. 转:[大数据竞赛]夺冠感言:走进业务,提升对世界的认知能力
  2. vim介绍,vim颜色显示,vim一般模式下移动光标,vim一般模式下的复制、剪切和粘贴...
  3. Javascript操作table,tr,td和表格CSS样式设置小常识
  4. Linux网络编程 五种I/O 模式及select、epoll方法的理解
  5. mysql md5函数加密
  6. UITextView,UITextField 和UIAlertView 在ios8上 当pop时候出现闪bug
  7. 部署被测软件应用和中间件_使用FlexDeploy对融合中间件应用程序进行自动化软件测试...
  8. 基于Quartz.Net的任务管理平台开发(3) —— 任务管理平台
  9. ShellExecute的各种用法 [转帖于 2009-05-020 21:15]
  10. MYSQL数据库脱库写马写一句话
  11. 优秀的长截图标注工具:iShot for Mac
  12. python真好玩 pdf 下载_Python真好玩:教孩子学编程_PDF电子书
  13. springboot版的微信公众号,订阅号
  14. 基于ZYNQ、AM5728、AM5708、AM437x、AM335x、STM32+FPGA等平台提供了开源EtherCAT主站IgH案例
  15. 注意:QQ空间加密并不安全
  16. Android广播静态注册失效
  17. allegro输出gerber过孔盖孔
  18. PTA 7-152 百钱百鸡
  19. LeetCode 链表 队列 栈的问题
  20. C++重载相等运算符operator==的两种方式

热门文章

  1. 使用4G模块实现IOT_Python库中,如何使用jieba模块来实现古典名著《西游记》的分词...
  2. 计算机里为什么显示cpu主频高,cpu主频显示不对是什么原因怎么解决
  3. 电力版 力控7.1 电力版 授权 硬件狗 USB加密狗 分享 下载
  4. Jetpack Compose for Desktop: 里程碑1发布
  5. 谷歌chrome浏览器设置成深色(护眼)模式
  6. Flutter文本输入框-TextField
  7. 4.外部协作单位的组织与管理
  8. Android 科大讯飞开发相关
  9. 动态拼图怎么做?如何将多张动图拼接在一起?
  10. 【公众号技能+】添加白名单,允许其他公众号转载文章