<C#> 索引器、委托、反射

一.索引器

(1)定义:

索引器是一种特殊的类成员,它能够让对象以类似数组的形式来存取,使程序看起来更为直观,更容易编写。

定义形式如下:

[修饰符] 数据类型 this[索引类型 index]

{

get{//获得属性的代码}

set{//设置属性的代码}

}

其中,修饰符包括:public,protected,private,internal,new,virtual,sealed,override, abstract,extern.

(2)实现Demo:

【单参数索引器】

static void Main(string[] args)

{

//一般索引器(参数为int类型)

Console.WriteLine("--------------int类型作为下标对索引器进行存储------------------");

var worker = new IndexerWork();

worker[0] = "liupeng";

worker[1] = "zhangyonghe";

Console.WriteLine(string.Format("一号员工的名字为:{0}", worker[0]));

Console.WriteLine(string.Format("二号员工的名字为:{0}", worker[1]));

Console.WriteLine("--------------string类型作为下标对索引器进行存储---------------");

//索引器(参数为string类型)

var ht = new IndexerWork();

ht["AA"] = "liupeng";

ht["BB"] = "zhangyonghe";

Console.WriteLine(string.Format("一号员工的名字为:{0}", ht["AA"]));

Console.WriteLine(string.Format("二号员工的名字为:{0}", ht["BB"]));

Console.ReadKey();

}

public class IndexerWork

{

public string[] Worker = new string[10];

private readonly Hashtable Ht = new Hashtable();

public string this[int index]

{

get { return Worker[index]; }

set { Worker[index] = value; }

}

public string this[string index]

{

get { return Ht[index].ToString(); }

set { Ht.Add(index, value); }

}

}

运行结果为:

C#基础回顾(三)-索引器、委托、反射1

【多参数索引器】        

//多参数索引器          

var moreIndexer = new IndexerWork();          

moreIndexer[1, "AA"] = "I am work in BaiDu!";        

moreIndexer[2, "BB"] = "I am work in LeTv";        

Console.WriteLine(string.Format("一员工的公司为:{0}", moreIndexer[1, "AA"]));        

Console.WriteLine(string.Format("二员工的公司为:{0}", moreIndexer[2, "BB"]));      

public class IndexerWork        {        

private readonly List_stuList = new List();

public string this[int index, string name]

{

get

{

var list = _stuList.Find(x => x.StuNo == index && x.StuName == name);

return list.ClassName;

}

set

{

_stuList.Add(new StudentInfo()

{

StuNo = in

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值