C#学习笔记- 浅谈数组复制,排序,取段,元组
数组复制
数组浅复制
浅复制就是复制了数组的引用,并不是数组的内容。在 C# 中,可以使用 Array 类的 Clone() 方法实现数组的浅复制。
以下示例代码演示了如何使用 Clone() 方法进行浅复制:
int[] array1 = { 1, 2, 3, 4, 5 };
int[] array2 = (int[])array1.Clone();
Console.WriteLine("复制前 array1:");
foreach (int item in array1)
{
Console.Write("{0} ", item);
}
Console.WriteLine();
Console.WriteLine("复制后 array4:");
foreach (int item in array4)
{
Console.Write("{0} ", item);
}
Console.WriteLine();
输出:
复制前 array1:
1 2 3 4 5
复制后 array4:
1 2 3 4 5
数组深复制
深复制就是复制了数组内容,并在堆内存中创建一个独立的副本。在 C# 中,可以使用 Array 类的 Copy() 方法实现数组的深复制。
以下示例代码演示了如何使用 Copy() 方法进行深复制:
int[] array1 = { 1, 2, 3, 4, 5 };
int[] array2 = new int[5];
Array.Copy(array1, array2, 5);
Console.WriteLine("深复制后 array2:");
foreach (int item in array2)
{
Console.Write("{0} ", item);
}
Console.WriteLine();
输出:
深复制后 array2:
1 2 3 4 5
数组排序
C# 提供了 Array 类的 Sort() 方法用于数组排序。Sort() 方法可用于对数组中的元素进行升序或降序排序,默认情况下是进行升序排序。
以下示例代码演示了如何使用 Sort() 方法进行升序排序:
int[] array1 = { 4, 5, 2, 1, 3 };
Array.Sort(array1);
Console.WriteLine("排序后 array1:");
foreach (int item in array1)
{
Console.Write("{0} ", item);
}
Console.WriteLine();
输出:
排序后 array1:
1 2 3 4 5
也可以使用 Array 类的 Reverse() 方法实现降序排序,以下示例代码演示了如何使用 Reverse() 方法进行降序排序:
int[] array1 = { 4, 5, 2, 1, 3 };
Array.Sort(array1);
Array.Reverse(array1);
Console.WriteLine("降序排序后 array1:");
foreach (int item in array1)
{
Console.Write("{0} ", item);
}
Console.WriteLine();
输出:
降序排序后 array1:
5 4 3 2 1
数组取段
在 C# 中,可以使用 Array 类的 Copy() 方法取出数组的一段。
以下示例代码演示了如何使用 Copy() 方法取出数组的一段:
int[] array1 = { 1, 2, 3, 4, 5 };
int[] array2 = new int[3];
Array.Copy(array1, 1, array2, 0, 3);
Console.WriteLine("array2:");
foreach (int item in array2)
{
Console.Write("{0} ", item);
}
Console.WriteLine();
输出:
array2:
2 3 4
元组
元组是 C# 7 中新增的语言特性,用于将多个变量打包成一个结构。
以下示例代码演示了如何使用元组:
(int, string) tuple1 = (1, "hello");
var tuple2 = (2, "world");
Console.WriteLine("tuple1:{0}, {1}", tuple1.Item1, tuple1.Item2);
Console.WriteLine("tuple2:{0}, {1}", tuple2.Item1, tuple2.Item2);
输出:
tuple1:1, hello
tuple2:2, world
可以在元组中包含任意数量和类型的元素。
以下示例代码演示了如何在元组中包含数组和字符串类型的元素:
int[] array1 = { 1, 2, 3, 4, 5 };
(string, int[]) tuple1 = ("hello", array1);
Console.WriteLine("tuple1:{0}, [{1}]", tuple1.Item1, string.Join(", ", tuple1.Item2));
输出:
tuple1:hello, [1, 2, 3, 4, 5]
以上就是关于 C# 数组复制、排序、取段和元组的简单介绍和示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#学习笔记- 浅谈数组复制,排序,取段,元组 - Python技术站