参考代码:

using System;

namespace IndexerDemo
{
class StuInfo
{
public string Name;
public string[] CouNameArray = new string[3];
public decimal[] CouSocreArray = new decimal[3];
public string this[int Index]
{
get
{
return CouNameArray[Index];
}
}
public decimal this[int Index,string CouName]
{
get
{
if (Index != -1)
return CouSocreArray[Index];
else if (!string.IsNullOrEmpty(CouName))
return CouSocreArray[Array.IndexOf(CouNameArray, CouName)];
else
return -1;
}
set
{
CouNameArray[Index] = CouName;
CouSocreArray[Index] = value;
}
}
}
class Program
{
static void Main(string[] args)
{
StuInfo stuInfo = new StuInfo();
stuInfo.Name = "张三";
stuInfo[0, "Math"] = 99;
stuInfo[1, "Chinese"] =100;
stuInfo[2, "CSharp"] = 120;
for (int i = 0; i < 3; i++)
{
Console.WriteLine(stuInfo[i,""]);
}
Console.WriteLine(stuInfo[2]);
Console.WriteLine(stuInfo[-1, "CSharp"]);
}
}
}

[C#]索引指示器的更多相关文章

  1. [Head First设计模式]面向对象的3特征5原则

    系列文章 [Head First设计模式]山西面馆中的设计模式——装饰者模式 [Head First设计模式]山西面馆中的设计模式——观察者模式 [Head First设计模式]山西面馆中的设计模式— ...

  2. .NET的面向对象

    一.继承 1.C#中的继承规则 继承是可传递的 派生类是对基类的扩展 构造函数和析构函数不能被继承 派生类可以覆盖已继承的成员 派生类只能从一个类中继承,可以通过接口来实现多重继承 类可以定义虚属性. ...

  3. C# .NET 基本概念

    1. private. protected. public. internal 修饰符的访问权限.   private : 私有成员, 在类的内部才可以访问.    protected : 保护成员, ...

  4. [C#基础]基础知识一: 面向对象的基本知识.

    激励自己有时间多看看.!! C#基础共分为七个部分: 一: 面向对象 二: 值类型, 引用类型, 字符串操作 三: 集合文件操作 四: 正则表达式 五: XML操作 六: 委托, 事件 七: 反射 1 ...

  5. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要一

    本人有幸在Learning Hard举行的整点抢书活动<Learninghard C#学习笔记>回馈网友,免费送书5本中免费获得了一本<LEARNING HARD C#学习笔记> ...

  6. asp.net面试题汇总

    1.静态成员和非静态成员的区别? 答: 静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对 ...

  7. C#-面向对象的三大特性——继承

    继承 注意事项: 继承语法:   类名:父类名 父类也称之为 基类 ,子类也可以成为 xxx的派生类 或 超类. 父类可以有无限个子类,子类只能有一个父类(亲爹),可以有无限个接口(干爹) 子类并不是 ...

  8. C# 接口基础

     接口只包含方法.属性.事件或索引器的签名. 实现接口的类或结构必须实现接口定义中指定的接口成员 接口中可以包含字段吗? 第一次被问到这个问题的时候被问愣住了,只能回答:印象当中没见过在接口中定义变量 ...

  9. C# 常见面试题1

    1.WinForm遍历控件 foreach (System.Windows.Forms.Control control in this.Controls) { if (control is Syste ...

  10. C#接口知识大全收藏

    第一节 接口慨述 接口(interface)用来定义一种程序的协定.实现接口的类或者结构要与接口的定义严格一致.有了这个协定,就可以抛开编程语言的限制(理论上).接口可以从多个基接口继承,而类或结构可 ...

随机推荐

  1. Linux 系统jdk安装详细教程

    安装jdk步骤先下载jdk的tar压缩包然后解压jdk并压缩至指定安装目录,如果不需要指定安装目录直接写tar -zxvf jdk压缩包名即可tar -zxvf jdk压缩包 -C /这里写指定安装目 ...

  2. 如何修改vagrant系统的root用户密码

    1. 先使用vagrant 用户登录. 2. $sudo passwd root #按照提示输入两次新的密码,并加以确认. 然后就可以修改root用户密码

  3. vector 搜罗最强版

    vector 常见用法(以int类型为例) https://www.cnblogs.com/YJthua-china/p/6550960.html 概括描述总体vector,包括内存的探讨 https ...

  4. Linux详解

    什么是操作系统?1.操作系统:(Operating System,OS)是计算机系统中的一个系统软件,它们管理和控制计算机系统中的硬件及软件资源,为用户提供一个功能强大.使用方便的和可扩展的工作环境. ...

  5. Linux 网卡(遇见问题的解决)

    主配置文件 /etc/sysconfig/network-scripts/ifcfg-eth1 里面的详细内容 DEVICE=eth1 网卡名称 TYPE=Ethernet 类型,Ethernet|B ...

  6. 【剑指Offer】【链表】链表中倒数第k个结点

    题目:输入一个链表,输出该链表中倒数第k个结点. A1:先从头到尾扫描链表,得到链表的总长度n,然后再扫描一次链表,输出n-k+1处的结点  ===> 测试用例超时 A2:创建两个指针,一个遍历 ...

  7. mysql8.0修改密码

    把密码设置为空:UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost'; 查看USE ...

  8. 一步一步教你FasterRunner在Centos7服务器部署

    一,搭建环境的安装版本 centos ,mysql-5.7.22,node-v9.8.0,Python-3.6.2(注意mysql版本,因为django需要跟mysql兼容) 二,linux 环境的搭 ...

  9. Linux-centos7 下开放某个端口

    方式一 1.开启防火墙 systemctl start firewalld  2.开放指定端口 firewall-cmd --zone=public --add-port=1935/tcp --per ...

  10. anaconda navigator启动时一直卡在 loading applications 页面解决方法

    anaconda3\Lib\site-packages\anaconda_navigator\api\conda_api.py 行1364 把 data = yaml.load(f) 改为 data ...