首页 > 其他分享 >索引函数

索引函数

时间:2022-11-28 20:22:27浏览次数:40  
标签:case set return 函数 Person 索引 public string

C# 提供了索引函数机制来提供快速、可读性强的读写方式。索引函数的语法是:

public <type> this[<index type> <paramter name>]

{

// get 和 set 至少有一个

get {

// get 访问函数的定义

}

set {

// set 访问函数的定义

}

}

例子,如果有一个类型是 Person , 而 Person 的字段有姓名,年龄,联系方式,而且它们都是以 string 类型来存储的。则可以把这些条目名作为索引:

        public class Person
        {
            private string name;
            private string phone;
            private string age; 
 
            public string this[string index]
            {
                get
                {
                    switch(index)
                    {
                        case "姓名": return name;
                        case "年龄": return age;
                        case "联系方式": return phone; 
                        default: return "";  
                    }
                } 
                set
                {
                    switch (index)
                    {
                        case "姓名": name = value;break;
                        case "年龄": age = value; break;
                        case "联系方式": phone = value; break;
                    }
                }
            }
 
        }
 
        public static void Main(string[] args)
        {
            Person p = new Person();
            p["姓名"] = "Person P";
            Console.Write(p["姓名"]);
        }

 

标签:case,set,return,函数,Person,索引,public,string
From: https://www.cnblogs.com/123525-m/p/16933497.html

相关文章

  • MySQL中的索引
    一、索引的概念索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。使用索引后可......
  • 13 STL-函数对象
    ​ 重新系统学习c++语言,并将学习过程中的知识在这里抄录、总结、沉淀。同时希望对刷到的朋友有所帮助,一起加油哦! 每一次学习都是为了追求智慧!写在前面,本篇章主要介......
  • MySQL自定义函数
     ⚠不推荐将业务逻辑存储在数据库中.MySQL不仅提供了很多很方便的内置函数,用户还可以自定义函数。不同于MongoDB对Js函数的良好支持,MySQL的自定义函数用起来感觉处处掣......
  • C++11:lambda匿名函数
    lambda源自希腊字母表中第11位的λ,在计算机科学领域,它则被用来表示一种匿名函数。所谓匿名函数,简单地理解就是没有名称的函数,又常被称为lambda函数或者lambda表达......
  • C++中的几种构造函数和析构函数
    本篇文章,我们来了解一下C++中的几种构造函数,以及析构函数#include<format>#include<iostream>#include<string>usingstd::format;usingstd::cout;usingstd::......
  • 自定义中文全文索引
    自定义中文全文索引​​一、中文分词插件​​​​1、分词组件的调整​​​​2、分词测试​​​​二、样例数据准备​​​​三、通过中文全文分词组件创建节点索引​​​​四......
  • Elasticsearch索引数据大批量删除接口优化
    Elaticsearch索引数据大批量删除接口优化​​一、需求​​​​二、索引数据删除接口​​​​2.1使用到的elasticsearch核心接口​​​​2.2封装删除脚本​​​​2.3封装接口......
  • 基于窗函数的FIR滤波器的matlab设计与实现
    目录一、理论基础二、理论基础三、仿真测试结果一、理论基础数字滤波器的设计是现代数字信号处理的重要内容。常用的数字滤波器有FIR和IIR两种类型,两者比较而言。主......
  • js中变量名提升和函数名提升 Web程序
    首先,js中变量没有块级作用域,但是有函数作用域,即只有函数可以约数变量的作用域。并且,函数的实质也是一个变量,所以可以改变它的值,即赋值。所以变量名提升和函数名提升非常相......
  • Oracle的sys_context函数
    概述sys_context函数是Oracle提供的一个获取环境上下文信息的预定义函数。该函数用来返回一个指定namespace下的parameter值。该函数可以在SQL和PL/SQL语言中使用。sys_cont......