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#
上一篇:
C#给datagrid添加右键菜单
下一篇:
C#语法糖模式匹配【switch 表达式】
Power by Typecho. Theme by Puma. Written by 董川民-
独立开发者
渝ICP备16006207号-2
渝公网安备 50011202503233号
友情链接: