C# 8中的范围类型(Range Type)
C# 8.0中加入了一个新的范围类型(Range Type)。
这里我们首先展示一些代码,并一步一步为代码添加一些不同的东西, 为大家展示一下范围类型的功能和用法。
我们最原始的代码如下:
这里我们显示的定义了我们查询数组的索引1-3, 并输出他们的值。毫无疑问,当我们运行程序之后,代码结果如下:
但是,假设我们不想使用for循环,而是想要使用这个名为“range”的新特性, 我们可以将代码重写为:
现在我们来运行程序。
结果比我们预想的少了一个。这是我们使用范围类型遇到的第一个问题。
范围的起始索引是包含的,范围的结束索引是排除的
如果我们修改一下我们的代码:
我们就会获得预想的结果。
范围缩写
使用范围来定义起始和结束索引非常的好用。但是如何表示从一个索引开始直到数组的最后一个对象呢?
从一个索引开始到数组的最后一个对象
输出结果:
从数组的第一个对象到指定索引
输出结果:
Item1Item2
Item3
整个数组
输出结果:
Item1Item2
Item3
Item4
Item5
从数组的某个索引开始一直到距数组尾部某个索引
C# 8.0提供了^
操作符,^
操作符表示从数组末尾计算索引。
foreach (var item in myArray[1..^1])
{Console.WriteLine(item);
}
输出结果:
Item2
Item3 Item4
范围类型
当我们编写1..4
的时候,看起来就好像我们在使用新的语法,实际上这只是个语法糖,实际上它初始化一个Range
类对象,就好像我们可以使用{“1”, “2”, “3”}
就可以创建一个数组一样。
替代Substring方法
使用范围类型的另一个好处就是你可以使用它替换String.Substring
方法, 写起来更加简单。
Console.WriteLine("123456789"[1..4]);
原文地址:https://www.cnblogs.com/lwqlun/p/10095821.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
C# 8中的范围类型(Range Type)相关推荐
- C# NX二次开发:制图模块中尺寸线标注类型的type值和subtype值归纳总结
今天介绍的是ug制图模块中尺寸线类型的type值和subtype值都有哪些,省去了大家自己归纳总结的时间. 大家都知道其实ug中想要了解对象的type和subtype值可以通过ug中自带的" ...
- SAP中,物料类型(material type)和物料组(material group)有什么区别
物料类型 material type 是物料最基础的特征,一般用于科目确定.价值评估.确定号码范围.确定采购类型.价格控制和字段选择.如SAP系统内置物料类型有:原材料 raw material(RO ...
- PADS2007中的层类型(plane type) 简介
所有平面层中包括非特殊层(非平面层NO PLANE,通常为走线ROUTING层)和特殊层(包括CAM平面层及SPLIT分割混合层). 1. No plane:通常指走线层,如Top Bottom, ...
- SAP CRM中的文本类型 - Text Type
Created by Wang, Jerry, last modified on Jan 02, 2015
- HTML5 中的 input 元素的输入类型(type 属性的取值)
目录 输入类型:text 输入类型:image 输入类型:reset 输入类型:password 输入类型:submit 输入类型:radio 输入类型:checkbox 输入类型:button 输入 ...
- Elasticsearch中字段类型(Field Type)详解
ElasticSearch 7.7 字段类型(Field datatype)详解 字符串, object, 数值, 日期, 数组, 0x00 字符串: text, keyword 5.0以后,stri ...
- SAP WM中阶存储类型里的Full stk rmvl 字段和Return Storage type字段
SAP WM中阶存储类型里的Full stk rmvl 字段和Return Storage type字段 SAP WM存储类型的配置里,可以配置从某个存储区域里下架的时候都是全数下架,不管需要下架的数 ...
- java中的类型擦除type erasure
文章目录 简介 举个例子 原因 解决办法 总结 java中的类型擦除type erasure 简介 泛型是java从JDK 5开始引入的新特性,泛型的引入可以让我们在代码编译的时候就强制检查传入的类型 ...
- C#中的值类型(value type)与引用类型(reference type)的区别
ylbtech- .NET-Basic:C#中的值类型与引用类型的区别 C#中的值类型(value type)与引用类型(reference type)的区别 1.A,相关概念返回顶部 C#中有两种数 ...
最新文章
- 用自定义IHttpModule实现URL重写
- php curl_init不能用,curl_init()函数不起作用
- springboot Autowired BeanNotOfRequiredTypeException
- Selenium 特点
- Vue 学习笔记(3)路由的基本使用 结合 SpringBoot
- 如何在程序中画出实际大小为7CM半径的圆
- qt的qfiledialog怎么判断打开的是不是一张图片_花瓣网画板图片一键导出 设计师速来围观...
- C-Free 您不能使用调试解决方案
- php 苹果apple登陆
- Reactjs源码分析
- 51单片机 ADC0832酒精传感器
- HTTP 十分钟教程
- Python数据分析中数据预处理:编码将文字型数据转换为数值型
- 第五十五讲 插件设备树
- X-Files 目录及剧情简介
- 美国计算机科学奥林匹克竞赛试题acsl,2020年国际数学奥林匹克竞赛试题全部出炉,网友:给答案都看不懂...
- microsoft outlook “未读邮件”收藏夹被误删
- 新未来,决战支付大数据
- 理光Ricoh Aficio MP 2011LD 一体机驱动
- 快速、简洁且高效的博客框架hexo