• C#索引器简单示例


    打开.Net Framework源代码随便看几个类,就会发现索引器的影子。索引器可以被重载,可以接收一个或者多个参数,但是不可以定义为静态的。可以用关联数组的方式访问索引器。

    public class Fruit

    {

            string peach = "a round juicy fruit that has a soft yellow or red skin and a large hard seed in the center, or the tree that this fruit grows on";

            string orange = "a round fruit that has a thick orange skin and is divided into parts inside";

            string banana = "a long curved tropical fruit with a yellow skin";

            string apple = "a hard round fruit that has red, light green, or yellow skin and is white inside ";

            public string this[string fruitName]

            {

                get

                {

                    switch (fruitName)

                    {

                        case "peach":

                            return peach;

                        case "orange":

                            return orange;

                        case "banana":

                            return banana;

                        case "apple":

                            return apple;

                        default:

                            throw new Exception("wrong fruit name");

                    }

                }

                set

                {

                    switch (fruitName)

                    {

                        case "peach":

                            peach = value;

                            break;

                        case "orange":

                            orange = value;

                            break;

                        case "banana":

                            banana = value;

                            break;

                        case "apple":

                            apple = value;

                            break;

                        default:

                            throw new Exception("wrong fruit name");

                    }

                }

            }

        }

        class Program

        {

            static void Main(string[] args)

            {

                Fruit f = new Fruit();

                //关联数组的方式访问get方法

                Console.WriteLine(f["peach"]);

                //关联数组的方式访问set方法

                f["peach"] = "I like to eat peach.";

                Console.WriteLine(f["peach"]);

                Console.ReadLine();

            }

        }

    执行结果:

  • 相关阅读:
    java模拟多线程
    zookeeper的搭建方法
    虚拟机无法ping通物理机的解决方案
    虚拟机桥接模式下多台Ubuntu16.04系统互相连接
    Ubuntu下安装libpcap+测试安装
    在Ubuntu下安装gcc编译器+测试
    在Ubuntu下配置jdk+maven
    使用Xshell对虚拟机上的Ubuntu系统进行远程连接
    javaWeb开发中常见的问题
    如何用eclipse运行导入的maven项目
  • 原文地址:https://www.cnblogs.com/zhangchenliang/p/2971062.html
Copyright © 2020-2023  润新知