添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • Linux
  • Nginx
  • 数据库
  • Python
  • PHP
  • C#
  • .NET
  • WPF
  • MAUI
  • Blazor
  • WinForm
  • 帝国CMS
  • AKCMS
  • Typecho
  • 织梦CMS
  • Visual Studio
  • Windows
  • Mac
  • Web前端
  • 数据采集
  • 运营
  • 产品
  • 摩托车
  • 电影
  • 杂事
  • string [] lst = new string[] { "1", "2", "3", "4", "5", "6", "7" };

    我们怎么获取它的最后一个值, 传统方法是这样写的, .

    string str = lst[lst.Length-1];

    那切片语法糖怎么写呢?

    string str = lst[^1];

    如果这样写,那这两行代码其实没什么区别,没有体现出切片语法糖的优势。

    那如果我们提取index=1,2,3的数据呢, 传统做法是这样的

    var temp = new string【】 { lst[1], lst[2], lst[3] };

    或者对linq比较熟悉的同学会这样写

    var temp = lst.Skip(1).Take(3).ToArray();

    在这里我还是讲一下skip和take是什么意思

  • Skip是跳过第几个元素之后,开始取得下标值的内容
  • Take 是获取几个元素的值,
  • 但是如果我们切片操作就太简单了

    var temp = lst[1..3];

    我们跑一下代码,咦,怎么只获取到两个,我们看一下官方的定义,

    End 获取一个表示范围的不包含结束索引的 Index。

    这个是什么意思呢,那对高中数学集合还比较熟悉的小伙伴应该知道,这里的1..3其实就是我们集合中的1到3左闭右开, 数学中是这样写的[1,3), 那我们要获取前三个元素,就应该写成[1,4)(1到4左闭右开),代码改成

    var temp = lst[1..4];

    通过这两个例子大家应该学会了c#中的切片语法糖吧。

    本文作者:黑哥聊dotNet 信息来源: 公众号 黑哥聊dotNet 所属分类: C# Power by Typecho. Theme by Puma. Written by 董川民- 独立开发者 渝ICP备16006207号-2 渝公网安备 50011202503233号

    友情链接: