相关文章推荐
听话的板栗  ·  CS8370:功能“顶级语句”在 C# ...·  2 月前    · 
耍酷的移动电源  ·  C# SocketException: ...·  2 月前    · 
威武的猴子  ·  2023年12月编程语言排行榜_编程语言排行 ...·  2 月前    · 
小眼睛的充值卡  ·  c#中dateTimePicker怎么获取当 ...·  1 月前    · 
礼貌的消防车  ·  C#/.net程序调用python - ...·  1 月前    · 
忐忑的拖把  ·  unity怎么将一个场景中的功能复制到另一个 ...·  9 月前    · 
追风的小虾米  ·  linux(ubuntu)能ping ...·  1 年前    · 
豪情万千的花生  ·  「python正则匹配空格」相关问答|文档| ...·  1 年前    · 
深情的麻辣香锅  ·  Maven编译后证书字节变大,too ...·  1 年前    · 
酒量大的拖把  ·  nginx正向代理与反向代理详解_nginx ...·  2 年前    · 
Code  ›  如何在C#中使用索引和范围开发者社区
索引 控制台 云系统 c#
https://cloud.tencent.com/developer/article/1817082
精明的大白菜
8 月前
zls365

如何在C#中使用索引和范围

前往小程序,Get 更优 阅读体验!
立即前往
腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
zls365
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > 如何在C#中使用索引和范围

如何在C#中使用索引和范围

作者头像
zls365
发布 于 2021-04-23 12:47:07
1.9K 0
发布 于 2021-04-23 12:47:07
举报
文章被收录于专栏: CSharp编程大全

C#8.0中有几个有趣的新特性和增强功能。指数和区间是两个新的增加-作为新的系统索引以及系统范围分别是用于索引和切片的类型。本文讨论如何在C#8.0中使用索引和范围

要使用本文提供的代码示例,您应该在系统中安装VisualStudio2019。如果您还没有副本,可以在此处下载VisualStudio2019

在VisualStudio2019中创建控制台应用程序项目

首先,让我们在VisualStudio中创建一个.NET核心控制台应用程序项目。假设系统中安装了Visual Studio 2019,请按照下面概述的步骤在Visual Studio中创建新的.NET核心控制台应用程序项目

启动Visual StudioIDE。单击在“创建新项目”窗口中,从模板列表中选择“控制台应用程序(.NET Core)”显示。在在接下来显示的“配置新项目”窗口中,指定新项目的名称和位置。

这将在VisualStudio2019中创建一个新的.NET核心控制台应用程序项目。我们将在本文的后续部分中使用这个项目

在Visual Studio中更新语言版本

为了能够在visualstudio中使用C#8.0,您应该使用一个以.netcore为目标的项目,就像我们正在做的那样。您还需要更改项目中使用的语言的语言版本。为此,请遵循以下步骤:

右键单击项目。选择“属性”来调用属性窗口。单击在语言版本的下拉控件上。这个系统索引以及系统范围结构

C#8.0引入了两种新类型,即系统索引以及系统范围. 可以在运行时使用这些结构对集合进行索引或切片。以下是系统索引结构在系统命名空间中定义

代码语言: javascript
复制
namespace System
    public readonly struct Index
        public Index(int value, bool fromEnd);
}

下面是系统范围结构在系统命名空间中定义

代码语言: javascript
复制
namespace System
    public readonly struct Range
        public Range(System.Index start, System.Index end);
        public static Range StartAt(System.Index start);
        public static Range EndAt(System.Index end);
        public static Range All { get; }
}

使用系统索引在C#8.0中,从末尾索引集合

在C#中,从最后到C#8.0,没有任何方法可以索引集合。现在,您可以通过使用一元^“hat”运算符和必须为系统.Int32是的

下面是如何在C#8.0中定义来自end操作符的预定义索引

代码语言: javascript
复制
System.Index operator ^(int fromEnd);

让我们用一个例子来理解这一点。考虑以下字符串数组

代码语言: javascript
复制
string[] cities = { "Kolkata", "Hyderabad", "Bangalore", "London", "Moscow", "London", "New York" };

下面的代码片段显示了如何利用^运算符检索存储在数组最后一个索引中的城市名称

代码语言: javascript
复制
var city = cities[^1];
Console.WriteLine("The selected city is: " + city);

这是完整的程序供你参考

代码语言: javascript
复制
using System;
namespace RangesAndIndexes
    class Program
        static void Main(string[] args)
            string[] cities = { "Kolkata", "Hyderabad", "Bangalore",
            "London", "Moscow", "London", "New York" };
            var city = cities[^1];
            Console.WriteLine("The selected city is: " + city);
            Console.ReadKey();
}

当您执行程序时,输出应该出现在控制台窗口中,如下图所示

IDG公司使用系统范围在C#8.0中提取序列的子集

你可以利用系统范围在使用数组和跨度类型时提取序列的子集。下面的代码片段演示了如何使用范围和索引来显示字符串的最后六个字符

代码语言: javascript
复制
string str = "Hello World!";
Console.WriteLine(str[^6..]);

执行程序时,输出“World!”应出现在控制台窗口中,如下图所示

IDG公司

下面是另一个说明切片工作原理的示例

代码语言: javascript
复制
int[] integers = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
var slice = integers[1..5];
foreach (int i in slice)
 
推荐文章
听话的板栗  ·  CS8370:功能“顶级语句”在 C# 7.3 中不可用。请使用 9.0 或更高的语言版本_严重性代码说明项目文件行禁止显示状态 错误cs8370功能“顶级语句”在 c#
2 月前
耍酷的移动电源  ·  C# SocketException: 你的主机中的软件中止了一个已建立的连接。 (局域网的socket tcp通信笔记)
2 月前
威武的猴子  ·  2023年12月编程语言排行榜_编程语言排行榜2023年12月
2 月前
小眼睛的充值卡  ·  c#中dateTimePicker怎么获取当前的日期_c#datetimepicker取时间函数
1 月前
礼貌的消防车  ·  C#/.net程序调用python - 步、步、为营
1 月前
忐忑的拖把  ·  unity怎么将一个场景中的功能复制到另一个场景中 - CSDN文库
9 月前
追风的小虾米  ·  linux(ubuntu)能ping ip,不能ping域名。无法解析域名DNS指向127.0.0.53问题处理_junch的技术博客_51CTO博客
1 年前
豪情万千的花生  ·  「python正则匹配空格」相关问答|文档|产品|活动 - 七牛云
1 年前
深情的麻辣香锅  ·  Maven编译后证书字节变大,too big pfx,导致解密失败,cer,pfx_weixin_33807284的博客-CSDN博客
1 年前
酒量大的拖把  ·  nginx正向代理与反向代理详解_nginx_脚本之家
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号