索引器知识点

索引器基本概念

让对象可以像数组一样通过索引访问其中元素,使程序看起来更直观,更容易编写。

索引器语法

访问修饰符 返回值 this[参数类型 参数名, 参数类型 参数名.....]
{内部的写法和规则和索引器相同get{}set{}
}

索引器的重载及逻辑

class Person
{private string name;private int age;private Person[] friends;private int[,] array;#region 知识点五 索引器可以重载//重载的概念是——函数名相同 参数类型、数量、顺序不同public int this[int i, int j]{get{return array[i, j];}set{array[i, j] = value;}}public string this[string str]{get{switch (str){case "name":return this.name;case "age":return age.ToString();}return "";}}#endregionpublic Person this[int index]{get{//可以写逻辑的 根据需求来处理这里面的内容#region 知识点四 索引器中可以写逻辑if( friends == null ||friends.Length - 1 < index){return null;}#endregionreturn friends[index];}set{//value代表传入的值//可以写逻辑的 根据需求来处理这里面的内容if( friends == null ){friends = new Person[] { value };}else if(index > friends.Length - 1){//自己定了一个规则 如果索引越界 就默认把最后一个朋友顶掉friends[friends.Length - 1] = value;}friends[index] = value;}}}

索引器的使用

 Person p = new Person();p[0] = new Person();Console.WriteLine(p[0]);p[0, 0] = 10;

小结

索引器对于我们来说的主要作用
可以让我们以中括号的形式范围自定义类中的元素 规则自己定 访问时和数组一样
比较适用于 在类中有数组变量时使用 可以方便的访问和进行逻辑处理

固定写法
访问修饰符 返回值 this[参数列表]
get和set语句块
可以重载

注意:结构体里面也是支持索引器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/34216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【自然语言处理】python之人工智能应用篇——文本生成技术

文本生成是指使用自然语言处理技术&#xff0c;基于给定的上下文或主题自动生成人类可读的文本。这种技术可以应用于各种领域&#xff0c;如自动写作、聊天机器人、新闻生成、广告文案创作等。 一、文本生成技术的核心要素包括&#xff1a; 1. 预训练模型 概述&#xff1a;预…

Java | Leetcode Java题解之第188题买卖股票的最佳时机IV

题目&#xff1a; 题解&#xff1a; class Solution {public int maxProfit(int k, int[] prices) {if (prices.length 0) {return 0;}int n prices.length;k Math.min(k, n / 2);int[] buy new int[k 1];int[] sell new int[k 1];buy[0] -prices[0];sell[0] 0;for (…

精益管理咨询公司在与企业沟通时,应该如何展示自己的专业性?

在竞争激烈的商业环境中&#xff0c;精益管理咨询公司扮演着至关重要的角色。它们不仅为企业提供策略性的指导&#xff0c;还帮助企业实现资源的优化配置&#xff0c;从而达到提高效率、降低成本的目的。那么&#xff0c;精益管理咨询公司在与企业沟通时&#xff0c;应该如何展…

MinIO在Linux环境中的使用

MinIO 是一个高性能的对象存储服务&#xff0c;兼容 Amazon S3 API。它设计用于大规模数据存储&#xff0c;可以很好地处理大数据集和高并发请求。如果你想在 Linux 系统上安装 MinIO&#xff0c;并开放必要的端口以便外部访问。 Vmware下载安装和linux安装这里就不在赘述了&a…

复习2-20240624

vscode 使用 Javabean &#xff08;封装性&#xff09; public class Demo01 {/*1.原则 &#xff1a; 字母 数字 $ _ 中文 除了 这五个 其它都不可以2. 细则 &#xff1a; 数字 不能 开头%hbviunh &hfiureh )nhjrn 7487j -ni hbiu tgf hi…

iOS抓包指南 正则过滤爬取

解读iOS抓包 抓包 &#xff08;packet capture&#xff09;就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作&#xff0c;也用来检查网络安全。抓包也经常被用来进行数据截取等。 什么是正则表达式&#xff1f; 正则表达式(regular expression)是用来描述…

网络安全----安全设备(二)防火墙

防火墙 一、防火墙是什么&#xff1f;二、防火墙的发展史&#xff08;1&#xff09;第四代和第五代防火墙的区别 三、防火墙的功能 一、防火墙是什么&#xff1f; 防火墙&#xff08;Firewall&#xff09;是一个软件、硬件设备或软硬件结合的安全管理系统&#xff0c;构建于网…

利用Java easyExcel库实现高效Excel数据处理

在Java应用程序中&#xff0c;处理Excel文件是一项常见任务&#xff0c;尤其是在需要读取、写入或分析大量数据时。easyExcel是一个基于Java的高性能Excel处理库&#xff0c;它提供了简洁的API和优化的性能&#xff0c;以简化Excel文件的处理。本文将指导您如何使用easyExcel库…

Python字典深度探索:25个高级操作技巧

今天&#xff0c;我们踏入字典的神秘森林&#xff0c;挖掘那些不为人知的宝藏。字典&#xff0c;Python中的超级英雄&#xff0c;存储数据的魔法帽&#xff0c;今天我们将解锁它的20个高级特技&#xff0c;让你的代码飞起来&#xff01; 1. 初始化大法&#xff1a;花式建字典 …

系统编程:线程相关

线程 相关函数及过程: 创建线程号; pthread_t tid; 创建线程:pthread_create(&tid, NULL, task, argv[1]); 定义线程执行函数:void *task(void *arg){ 线程退出:pthread_exit(ret);//线程结束后退出 } 等待所有线程结束:pthread_join(tid, (void **)&ret); 编译时增加…

计算机网络面试HTTP篇二

HTTP/1.1 如何优化&#xff1f; 问你一句&#xff1a;「你知道 HTTP/1.1 该如何优化吗&#xff1f;」 我们可以从下面这三种优化思路来优化 HTTP/1.1 协议&#xff1a; 尽量避免发送 HTTP 请求&#xff1b;在需要发送 HTTP 请求时&#xff0c;考虑如何减少请求次数&#xff…

常用网站收集

微信公众号 https://mp.weixin.qq.com/ 新浪邮箱 https://mail.sina.com.cn/?frommail 博客 https://blog.csdn.net/ 印象笔记 https://app.yinxiang.com/ b站 https://member.bilibili.com/ 微博 https://weibo.com/ QQ音乐 https://y.qq.com/ 网易云音乐 htt…

Springboot启动mongoDB报错后禁用mongoDB自动配置

一、背景 最近在项目当中使用到MongoDB的驱动及相关依赖&#xff0c;发现在启动的时候有MongoDB启动报错信息&#xff0c;目前也不直接使用MongoDB&#xff0c;所以把自动配置这一块在启动的时候去除掉。 二、操作方式 Application启动类&#xff0c;修改启动SpringBootAppli…

400技术汇 教你如何成为抓包高手!

Wireshark是目前使用最广泛的网络抓包分析工具&#xff0c;也是每一位网络攻城狮电脑里必装神器。当网络里发现恶意攻击、某人下载流量过大、设备互联丢包、协议交互失败等等情况时&#xff0c;通过Wireshark抓包定位问题根源&#xff0c;是最直接有效的手段。 然而如此强大的…

【C++】future/promise

future/promise 1 来源 需要从线程中返回异步任务结果情形时&#xff0c;c11之前&#xff1a; 使用指针在线程间共享数据。 传递一个指针到新的线程中&#xff0c;该线程在其中设置数据&#xff0c;直到主线程继续等待使用条件变量。当新线程设置数据并通知条件变量时&#x…

守护清远采矿安全:可燃气体报警器检定工作的必要性与实施

清远市地处广东省北部&#xff0c;矿产资源丰富&#xff0c;包括金属矿产、非金属矿产等多种类型。采矿行业作为清远的重要产业之一&#xff0c;对当地经济发展起到了积极的推动作用。 然而&#xff0c;随着采矿业的快速发展&#xff0c;安全问题也逐渐凸显出来&#xff0c;尤…

05 Pytorch 数据读取 + 二分类模型

05 Pytorch 数据读取 二分类模型05 Pytorch 数据读取 二分类模型05 Pytorch 数据读取 二分类模型 01 数据读取 DataLoader&#xff08;set作为参数&#xff09; 02 Dataset 从哪读&#xff0c;怎么读&#xff1f; 功能&#xff1a;数据从哪里读取&#xff1f; 如何读取…

【第十三课】区域经济可视化表达——符号表达与标注

一、前言 地图最直接的表达就是使用符号表达。使用符号可以把简单的点线面要 素渲染成最直观的地理符号&#xff0c;提高地图的可读性。只要掌握了 ArcGIS 符号制 作的技巧&#xff0c;分析符号并总结出规则&#xff0c;就可以制作符合要求的地图符号。 &#xff08;一&#…

算法基础入门 - 1.排序

文章目录 算法基础入门第一章:排序1.1 桶排序1.2 冒泡排序1.3 快速排序1.4 买书问题算法基础入门 第一章:排序 1.1 桶排序 该算法好比桶,假设有11个桶,编号从0-11。每出现一个数,就往对应编号的桶中放入旗子,只需要数桶中旗子的个数即可。比如2号桶有1个旗子,表示2出…

自动化测试TCP和UDP的带宽

在一侧设备&#xff0c;执行iperf3 -s -i 1 另一侧设备执行以下脚本 测试长时间下以太网的tcp带宽和udp丢包率 测试某以太网转换盒的时候&#xff0c; 发现tcp带宽在刚开始的几分钟是800M左右&#xff0c;然后直线转为50M&#xff0c;并且长时间稳定 UDP的丢包率&#xff0…