C#8 中有趣的的索引和范围特性

C#8 中有趣的的索引和范围特性

        var array = new int[]{3,4,6,4,52,63,5,545,4,345,5,52,6};Debug.Log(array[^5]);Debug.Log(array[5..8].Length);

使用

这些索引和范围特性可以让您更方便地访问和操作数组、列表或字符串中的元素。它们不仅可以提高代码的可读性,还可以减少一些常见的边界检查和计算工作。

  1. 倒数第一个元素 [^1]:
  • 这个语法可以用来访问数组、列表或字符串的倒数第一个元素。
  • 例如, myArray[^1] 可以获取数组 myArray 的最后一个元素。
  1. 范围 [3..5]:

    • 这个语法可以用来访问数组、列表或字符串的一个子集。
    • [3..5] 表示从第4个元素(索引为3)开始,到第6个元素(索引为5)结束(不包括)。
  2. 其他特性:

    • [..]: 不指定开始或结束索引,可以获取整个数组/列表/字符串。
    • [^5..]: 获取从倒数第5个元素开始到结尾的所有元素。
    • [..5]: 获取从开头到第6个元素(索引为5)的所有元素。
    • [2..]: 获取从第3个元素(索引为2)开始到结尾的所有元素。

Linq实现

  1. 倒数第一个元素 [^1]:

    • LINQ 中可以使用 Last() 方法来获取集合的最后一个元素:

      var lastElement = myArray.Last();
      
  2. 范围 [3..5]:

    • LINQ 中可以使用 Skip(3).Take(2) 来获取从第4个元素开始的2个元素:

      var subArray = myArray.Skip(3).Take(2);
      
  3. 其他特性:

    • [..]: 获取整个集合可以使用 ToArray()ToList() 方法:

      var fullArray = myArray.ToArray();
      
    • [^5..]: 获取从倒数第5个元素开始到结尾的所有元素可以使用 Skip(myArray.Length - 5) 方法:

      var lastFiveElements = myArray.Skip(myArray.Length - 5);
      
    • [..5]: 获取从开头到第6个元素(索引为5)的所有元素可以使用 Take(6) 方法:

      var firstSixElements = myArray.Take(6);
      
    • [2..]: 获取从第3个元素(索引为2)开始到结尾的所有元素可以使用 Skip(2) 方法:

      var fromThirdElement = myArray.Skip(2);
      

通过这些 LINQ 方法,您可以实现与索引和范围特性类似的功能,并以更通用的方式操作各种集合类型,包括数组、列表、字典等。

需要注意的是,LINQ 方法返回的是新的集合,而不是原集合的引用,所以如果需要修改原集合,您需要将结果赋值回去。


🌟Unity促销:100+资产高达60%的折扣。Flash Deals的资产从6折开始,24小时后将下降到5折,然后在另一个24小时后下降到6折。每24小时添加一次新资产。

https://assetstore.unity.com/?flashdeals=true&aid=1100liZJZ

image-20240717102256610

🌟最多下载插件:https://assetstore.unity.com/top-assets/top-download?aid=1011l5dHP

🌟获得永久免费的无限 GPT 查询次数!点击链接并下载Monica插件,即可参加限时活动。

https://monica.im?ref=odfizdq

Logo

🌟Asset Store每周免费资源上新
战斗魔法咒语-第二卷
地址:assetstore.unity.com/publisher-sale?aid=1011l5dHP
兑换码:ALAN2024

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

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

相关文章

DC4靶机渗透测试报告

概述测试目的测试范围序号系统IP1本地192.168.152.1282靶机DC4192.168.152.134详细测试流程1、发现测试目标2、信息收集开放了22端口和80端口访问80端口,发现没什么可用的,就用BP暴力破解最后得到密码是happy登录3、漏洞利用登录以后可以看到有执行命令的单选框,这个时候我们…

DC5靶机渗透测试报告

概述测试目的测试范围序号系统IP1本机192.168.152.1282DC5靶机192.168.152.136详细测试流程1、发现测试目标2、信息收集3、漏洞利用访问80端口,这个页面我什么都没有发现,目录扫描好像也没什么用没办法,看一下大佬的WPVulnHub靶机 DC-5 打靶 渗透测试详细过程_dc-5主机渗透试…

连通性相关

连通性相关 强连通分量 强连通分量(SCC):极大的强连通子图。 Tarjan 算法 维护一个栈存储搜索到的还未确定强连通分量的点,定义:\(dfn_u\) :节点 \(u\) 被搜索的次序。 \(low_u\) :\(u\) 子树中能回溯到的最小的 \(dfn\) 。不难得到:一个点子树内的 \(dfn\) 大于该点的…

DC1主机渗透测试报告

概述测试目的通过模拟黑客的渗透测试,评估目标系统是否存在可以被攻击者真实利用的漏洞以及由此引起的风险大小,为制定相应的安全措施与解决方案提供实际的依据。分析客户WEB应用系统的安全现状,检测WEB应用系统的漏洞和安全问题,并验证其他已知的脆弱点。对系统的任何弱点…

ruoyi-flow 是一个轻量、灵活的工作流引擎, 真正的国产工作流引擎 (非BPM)。 其特点简洁轻量、独立组件、易扩展、易集成,且还拥有一个简洁美观的流程设计器。

ruoyi-flow 项目概述 项目介绍 ruoyi-flow 是一个轻量、灵活的工作流引擎, 真正的国产工作流引擎 (非BPM)。 其特点简洁轻量、独立组件、易扩展、易集成,且还拥有一个简洁美观的流程设计器。 项目背景 开源的流程引擎也好状态机引擎也好不可谓不多,他们的优点是功能很完备…

C#写个简单的windows服务+部署

部署: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 InstallUtil.exe C:\Users\Administrator\source\repos\WindowsService1\WindowsService1\bin\Debug\WindowsService1.exe 启动 停止 日志: 😘宝子:除非不再醒来,除非太阳不再升起,不然都请你好好生活,挣扎着…

laravel11:发生异常时返回json

一,未配置前laravel11直接render页面 如图:二,配置 1, bootstrap/app.php <?phpuse Illuminate\Http\Request; use Illuminate\Auth\AuthenticationException; use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Foundation\Application; use I…

W外链创建小红书私信卡片教程

在当今的社交媒体时代,小红书以其独特的社区属性和用户粘性,成为了许多品牌和个人展示自己、推广产品的重要平台。而在小红书上,一张精美且富有吸引力的卡片往往能够迅速吸引用户的注意,提高点击率和转化率。本文将详细介绍如何使用W外链来创建小红书卡片,帮助你在小红书上…

kettle从入门到精通 第七十六课 ETL之kettle kettle连接hive教程

1、群里有小伙伴询问kettle连接hive的demo,今天抽点时间整理下。其实kettle连接hive和连接mysql数据库也是一样的。 1)kettle中的lib目录下放hive驱动jar,这里我使用的是kyuubi-hive-jdbc-shaded-1.9.0.jar。 2)设置hive连接参数。 3)通过表输入进行读取数据。 2、下载kyu…

火山引擎ByteHouse发布高性能全文检索引擎

作为一款定位为OLAP的分析型数据库,ByteHouse在支持结构化数据检索方面具备先天优势,而此次发布的全文检索引擎则补齐了对非结构化、半结构化等数据的快速检索能力,让用户可以构建一体化的数据管理、查询服务,降低运维成本和资源成本。更多技术交流、求职机会,欢迎关注字节…

Swift实现自定义Emoji、自定义表情、自定义键盘

实现自定义表情键盘效果如下demo 参考自PPStickerKeyboard

外卖霸王餐系统,霸王餐API接口,美团/饿了么全国200+城市

微客云免费提供外卖霸王餐系统,支持分站、运营商、商家后台、独立域名,自定义品牌,自主收款。 随着科技的快速发展,数字化和网络化已经渗透到我们生活的方方面面。在餐饮行业中,API(应用程序编程接口)接口的广泛应用不仅提升了餐厅的运营效率,也为消费者带来了更加便捷…