C# Foundation---indexer


1usingSystem;
2usingSystem.Collections.Generic;
3usingSystem.Text;
4
5namespaceCSharpFoundationStudy
6{
7/*
8*索引器indexer
9*实现索引指示器(indexer)的类可以象数组那样使用其实例后的对象,但与数组不同的是索引指示器的参数类型不仅限于int
10*属性与索引器的区别:
11*类的每一个属性都必须拥有唯一的名称,而类里定义的每一个索引器都必须拥有唯一的签名(signature)或者参数列表(这样就可以实现索引器重载)
12*属性可以是static(静态的)而索引器则必须是实例成员
13*为索引器定义的访问函数可以访问传递给索引器的参数,而属性访问函数则没有参数
14*/

15publicclassIndexer
16{
17publicstringthis[intindex]
18{
19get
20{
21switch(index)
22{
23case0:
24return"Sunday";
25case1:
26return"Monday";
27case2:
28return"Thursday";
29case3:
30return"Wednsday";
31case4:
32return"Tuesday";
33case5:
34return"Friday";
35case6:
36return"Saturday";
37default:
38return"Error";
39}

40}

41}

42
43publicstringthis[stringday]
44{
45get
46{
47switch(day)
48{
49case"Sun":
50return"Sunday";
51case"Mon":
52return"Monday";
53case"Thu":
54return"Thursday";
55case"Wed":
56return"Wednsday";
57case"Tue":
58return"Tuesday";
59case"Fri":
60return"Friday";
61case"Sat":
62return"Saturday";
63default:
64return"Error";
65}

66}

67}

68
69publicstringthis[intindex,stringday]
70{
71get
72{
73if(index==0&&day=="Sun")
74return"Sunday";
75elseif(index==6&&day=="Sat")
76return"Saturday";
77return"Error";
78}

79}

80}

81
82//publicclassIndexerTest
83//{
84//publicstaticvoidMain()
85//{
86//Indexerindexer=newIndexer();
87//Console.WriteLine("indexer[5]={0}",indexer[5]);
88//Console.WriteLine("indexer['Wed']={0}",indexer["Wed"]);
89//Console.WriteLine("indexer[0,'Sun']={0}",indexer[0,"Sun"]);
90//Console.ReadLine();
91//}
92//}
93}

94 优质内容筛选与推荐>>
1、sysbench对MySQL的压测,使用sysbench压测磁盘io
2、Nosql数据库的四大分类及分布式数据库CAP原理
3、Python笔记汇总
4、从cookie中取值$.cookie()
5、课堂测试1


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号