当前位置: 首页 > news >正文

C#用Array类的Reverse方法反转数组中元素

目录

一、Array.Reverse 方法

1.重载

2.Reverse(Array, Int32, Int32)

3. Reverse(Array)

4.Reverse(T[])

5. Reverse(T[], Int32, Int32)

二、实例

1.Array.Reverse 方法4种重载方法综合实例

2.Reverse(Array)方法的实例


一、Array.Reverse 方法

         反转一维 Array 或部分 Array 中元素的顺序。

1.重载

Reverse(Array, Int32, Int32)反转一维 Array 中元素子集的顺序。
Reverse(Array)反转整个一维 Array 中元素的顺序。
Reverse<T>(T[])反转一维泛型数组中元素的顺序。
Reverse<T>(T[], Int32, Int32)反转一维泛型数组中元素子集的顺序。

2.Reverse(Array, Int32, Int32)

        它允许您反转数组中指定索引和长度的部分元素顺序。

public static void Reverse (Array array, int index, int length);参数
array    Array
要反转的一维 Array。index    Int32
要反转的部分的起始索引。length    Int32
要反转的部分中的元素数。例外
ArgumentNullException
array 为 null。RankException
array 是多维的。ArgumentOutOfRangeException
index 小于 array 的下限。
或 -
length 小于零。ArgumentException
index 和 length 未在 array 中指定有效范围。

3. Reverse(Array)

        C#中可以使用Array.Reverse()方法来反转数组中的元素顺序。

public static void Reverse (Array array);参数
array    Array
要反转的一维 Array。例外
ArgumentNullException
array 为 null。RankException
array 是多维的。

4.Reverse<T>(T[])

        Array.Reverse<T>(T[] array)Array类的泛型版本的Reverse()方法,它允许您反转泛型数组中的元素顺序。

public static void Reverse<T> (T[] array);类型参数    
T
array 中的元素的类型。参数
array    T[]
要反转的元素的一维数组。例外
ArgumentNullException
array 为 null。RankException
array 是多维的。

5. Reverse<T>(T[], Int32, Int32)

        Array.Reverse<T>(T[] array, int index, int length)是Array类的另一个版本的Reverse()方法,它允许您反转泛型数组中指定索引和长度的部分元素顺序。

public static void Reverse<T> (T[] array, int index, int length);类型参数
T
array 中的元素的类型。参数
array    T[]
要反转的元素的一维数组。index    Int32
要反转的部分的起始索引。length    Int32
要反转的部分中的元素数。例外
ArgumentNullException
array 为 null。RankException
array 是多维的。ArgumentOutOfRangeException
index 小于 array 的下限。
或 -
length 小于零。ArgumentException
index 和 length 未在 array 中指定有效范围。

二、实例

1.Array.Reverse 方法4种重载方法综合实例

//Array.Reverse 方法
namespace _105_1
{internal class Program{private static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);// Reverse(Array)int[] numbers1 = [1, 2, 3, 4, 5];Array.Reverse(numbers1);foreach (int number in numbers1){Console.Write(number + " ");}Console.WriteLine();Console.WriteLine("***************");// Reverse(Array, Int32, Int32)int[] numbers2 = [1, 2, 3, 4, 5, 6, 7, 8, 9];int index = 3;int length = 4;Array.Reverse(numbers2, index, length);foreach (int number in numbers2){Console.Write(number + " ");}Console.WriteLine();Console.WriteLine("***************");// Array.Reverse<T>(T[] array)string[] names = ["Alice", "Bob", "Charlie", "David", "Eve"];//使用Array.Reverse<T>方法反向数组中的元素顺序Array.Reverse(names);foreach (string name in names){Console.Write(name + " ");}Console.WriteLine();Console.WriteLine("***************");// Reverse<T>(T[], Int32, Int32)string[] words = { "hello", "world", "foo", "bar" };// 使用 Array.Reverse<T> 方法来反转数组中元素的顺序,从索引 1 开始,长度为 2Array.Reverse(words, 1, 2);foreach (string word in words){Console.Write(word + " ");}Console.WriteLine();Console.WriteLine("***************");}}
}
//运行结果:
/*
5 4 3 2 1
***************
1 2 3 7 6 5 4 8 9
***************
Eve David Charlie Bob Alice
***************
hello foo world bar
****************/

2.Reverse(Array)方法的实例

// 用Reverse(Array)方法反转数组中元素
namespace _105
{public partial class Form1 : Form{private GroupBox? groupBox1;private GroupBox? groupBox2;private Button? button1;private Label? label1;private Label? label2;private string[]? str_array;//定义字符串数组字段public Form1(){InitializeComponent();StartPosition = FormStartPosition.CenterScreen;Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // button1// button1 = new Button{Location = new Point(99, 123),Name = "button1",Size = new Size(75, 23),TabIndex = 0,Text = "反转",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // label1// label1 = new Label{AutoSize = true,Location = new Point(48, 15),Name = "label1",Size = new Size(0, 17),TabIndex = 1};// // label2// label2 = new Label{AutoSize = true,Location = new Point(48, 15),Name = "label2",Size = new Size(0, 17),TabIndex = 2};// // groupBox1// groupBox1 = new GroupBox{Location = new Point(12, 12),Name = "groupBox1",Size = new Size(240, 105),TabIndex = 0,TabStop = false,Text = "反转前:"};    groupBox1.Controls.Add(label1);groupBox1.SuspendLayout();// // groupBox2// groupBox2 = new GroupBox{Location = new Point(12, 152),Name = "groupBox2",Size = new Size(240, 105),TabIndex = 0,TabStop = false,Text = "反转后:"};groupBox2.Controls.Add(label2);groupBox2.SuspendLayout();// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(264, 269);Controls.Add(button1);Controls.Add(groupBox2);Controls.Add(groupBox1);Name = "Form1";Text = "反转数组元素";groupBox1.ResumeLayout(false);groupBox1.PerformLayout();groupBox2.ResumeLayout(false);groupBox2.PerformLayout();str_array = ["C#编程词典", "C#编程宝典", "C#开发实战宝典", "视频学C#", "C#范例大全"];foreach (string str in str_array){label1!.Text += str + Environment.NewLine;    }}private void Button1_Click(object? sender, EventArgs e){label2!.Text = string.Empty;foreach (string str in str_array!.Reverse())//遍历反转后的字符串数组{label2.Text += str + Environment.NewLine;}}}
}

相关文章:

C#用Array类的Reverse方法反转数组中元素

目录 一、Array.Reverse 方法 1.重载 2.Reverse(Array, Int32, Int32) 3. Reverse(Array) 4.Reverse(T[]) 5. Reverse(T[], Int32, Int32) 二、实例 1.Array.Reverse 方法4种重载方法综合实例 2.Reverse(Array)方法的实例 一、Array.Reverse 方法 反转一维 Array 或部…...

iOS AlDente 1.0自动防过充, 拯救电池健康度

经常玩iOS的朋友可能遇到过长时间过充导致的电池鼓包及健康度下降问题。MacOS上同样会出现该问题&#xff0c;笔者用了4年的MBP上周刚拿去修了&#xff0c;就是因为长期不拔电源的充电&#xff0c;开始还是电量一半的时候不接电源会黑屏无法开机&#xff0c;最后连着电源都无法…...

春晚刘谦魔术——约瑟夫环

昨晚&#xff0c;刘谦在春晚上表演了一个魔术&#xff0c;通过对四张撕成两半的纸牌连续操作&#xff0c;最终实现了纸牌的配对。 这个魔术虽然原理不是很难&#xff0c;但是通过刘谦精湛的表演还是让这个魔术产生了不错的效果&#xff08;虽然我感觉小尼的效果更不错&#xff…...

itextpdf使用:使用PdfReader添加图片水印

gitee参考代码地址&#xff1a;https://gitee.com/wangtianwen1996/cento-practice/tree/master/src/test/java/com/xiaobai/itextpdf 参考文章&#xff1a;https://www.cnblogs.com/wuxu/p/17371780.html 1、生成带有文字的图片 使用java.awt包的相关类生成带文字的图片&…...

如何为Kafka加上账号密码(二)

认证策略SASL/PLAIN 上篇文章中我们讲解了Kafka认证方式和基础概念&#xff0c;并比较了不同方式的使用场景。 我们在《2024年了&#xff0c;如何更好的搭建Kafka集群&#xff1f;》中集群统一使用PLAINTEXT通信。Kafka通常是在内网使用&#xff0c;但也有特殊的使用场景需要…...

【大数据】Flink on YARN,如何确定 TaskManager 数

Flink on YARN&#xff0c;如何确定 TaskManager 数 1.问题2.并行度&#xff08;Parallelism&#xff09;3.任务槽&#xff08;Task Slot&#xff09;4.确定 TaskManager 数 1.问题 在 Flink 1.5 Release Notes 中&#xff0c;有这样一段话&#xff0c;直接上截图。 这说明从 …...

ES节点故障的容错方案

ES节点故障的容错方案 1. es启动加载逻辑1.1 segment和translg组成和分析1.2 es节点启动流程1.3 es集群的初始化和启动过程 2. master高可用2.1 选主逻辑2.1.1 过滤选主的节点列表2.1.2 Bully算法2.1.2 类Raft协议2.1.3 元数据合并 2.2 HA切换 3. 分片高可用3.1 集群分片汇报3.…...

【Flink】FlinkSQL实现数据从Kafka到MySQL

简介 未来Flink通用化,代码可能就会转换为sql进行执行,大数据开发工程师研发Flink会基于各个公司的大数据平台或者通用的大数据平台,去提交FlinkSQL实现任务,学习Flinksql势在必行。 本博客在sql-client中模拟大数据平台的sql编辑器执行FlinkSQL,使用Flink实现数据从Kafka传…...

Unity GC

本文由 简悦 SimpRead 转码&#xff0c; 原文地址 mp.weixin.qq.com 简略版本 在 Unity 中&#xff0c;垃圾回收&#xff08;Garbage Collection&#xff0c;GC&#xff09;采用的是基于标记-清除&#xff08;Mark and Sweep&#xff09;算法的自动内存管理机制。 基于标记-清…...

Vue源码系列讲解——变化侦测篇【下】(Array的变化侦测)

目录 1. 前言 2. 在哪里收集依赖 3. 使Array型数据可观测 3.1 思路分析 3.2 数组方法拦截器 3.3 使用拦截器 4. 再谈依赖收集 4.1 把依赖收集到哪里 4.2 如何收集依赖 4.3 如何通知依赖 5. 深度侦测 6. 数组新增元素的侦测 7. 不足之处 8. 总结 1. 前言 上一篇文…...

【机器学习笔记】贝叶斯学习

贝叶斯学习 文章目录 贝叶斯学习1 贝叶斯学习背景2 贝叶斯定理3 最大后验假设MAP(Max A Posterior)4 极大似然假设ML(Maximum Likelihood)5 朴素贝叶斯NB6 最小描述长度MDL 1 贝叶斯学习背景 试图发现两件事情的关系&#xff08;因果关系&#xff0c;先决条件&结论&#x…...

ElasticSearch之倒排索引

写在前面 本文看下es的倒排索引相关内容。 1&#xff1a;正排索引和倒排索引 正排索引就是通过文档id找文档内容&#xff0c;而倒排索引就是通过文档内容找文档id&#xff0c;如下图&#xff1a; 2&#xff1a;倒排索引原理 假定我们有如下的数据&#xff1a; 为了建立倒…...

win11安装mysql8.3.0压缩包版 240206

mysql社区版安装包版windows安装包下载地址 在系统环境变量path无点.的情况下 powershell 可以 .\ 或 ./ 开头表示当前文件夹cmd 可以直接命令或.\开头, 不能./开头 所以 .\ 在cmd和powershell中通用 步骤 在解压目录 .\mysqld --initialize-insecure root无密码初始化.\m…...

数据库索引与优化:深入了解索引的种类、使用与优化

数据库索引与优化&#xff1a;深入了解索引的种类、使用与优化 索引的种类 数据库索引是提高查询速度的重要手段之一&#xff0c;主要分为以下几种类型&#xff1a; 主键索引&#xff08;Primary Key Index&#xff09;&#xff1a; 唯一标识表中的每一行数据&#xff0c;保…...

React 错误边界组件 react-error-boundary 源码解析

文章目录 捕获错误 hook创建错误边界组件 Provider定义错误边界组件定义边界组件状态捕捉错误渲染备份组件重置组件通过 useHook 控制边界组件 捕获错误 hook getDerivedStateFromError 返回值会作为组件的 state 用于展示错误时的内容 componentDidCatch 创建错误边界组件 P…...

分享66个相册特效,总有一款适合您

分享66个相册特效&#xff0c;总有一款适合您 66个相册特效下载链接&#xff1a;https://pan.baidu.com/s/1jqctaho4sL_iGSNExhWB6A?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不…...

chagpt的原理详解

GPT&#xff08;Generative Pre-trained Transformer&#xff09;是一种基于Transformer架构的生成式预训练模型。GPT-3是其中的第三代&#xff0c;由OpenAI开发。下面是GPT的基本原理&#xff1a; Transformer架构&#xff1a; GPT基于Transformer架构&#xff0c;该架构由Att…...

dockerfile 详细讲解

当编写 Dockerfile 时&#xff0c;你需要考虑你的应用程序所需的环境和依赖项&#xff0c;并将其描述为一系列指令。下面是一个简单的示例&#xff0c;演示如何编写一个用于部署基于 Node.js 的网站的 Dockerfile&#xff1a; Dockerfile # 使用官方 Node.js 镜像作为基础镜像…...

跟着pink老师前端入门教程-day23

苏宁网首页案例制作 设置视口标签以及引入初始化样式 <meta name"viewport" content"widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0"> <link rel"stylesheet" href"css/normaliz…...

JRT监听程序

本次设计避免以往设计缺陷&#xff0c;老的主要为了保持兼容性&#xff0c;在用的设计就不好调了。 首先&#xff0c;接口抽象时候就不在给参数放仪器ID和处理类了&#xff0c;直接放仪器配置实体&#xff0c;接口实现想用什么属性就用什么属性&#xff0c;避免老方式要扩参数时…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...

Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合

无论是python&#xff0c;或者java 的大型项目中&#xff0c;都会涉及到 自身平台微服务之间的相互调用&#xff0c;以及和第三发平台的 接口对接&#xff0c;那在python 中是怎么实现的呢&#xff1f; 在 Python Web 开发中&#xff0c;FastAPI 和 Django 是两个重要但定位不…...

李沐--动手学深度学习--GRU

1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...

Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用

Linux 内存管理调试分析&#xff1a;ftrace、perf、crash 的系统化使用 Linux 内核内存管理是构成整个内核性能和系统稳定性的基础&#xff0c;但这一子系统结构复杂&#xff0c;常常有设置失败、性能展示不良、OOM 杀进程等问题。要分析这些问题&#xff0c;需要一套工具化、…...