目录
一、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;}}}
}