No title

数组

Array

Array.ForEach :用于对数组中的每个元素执行指定的操作。这个方法接受两个参数:

  1. 数组:要操作的数组。
  2. 操作:一个 Action<T> 委托,表示对每个元素执行的操作。
1
2
3
int[] numbers = { 1, 2, 3, 4, 5 };
// 对每个元素执行操作,打印每个元素
Array.ForEach(numbers, n => Console.WriteLine(n));

**Array.Copy**:将数组的一部分复制到另一个数组中。

1
2
3
int[] source = { 1, 2, 3, 4, 5 };
int[] destination = new int[3];
Array.Copy(source, 1, destination, 0, 3); // 复制从索引1开始的3个元素

**Array.Sort**:对数组中的元素进行排序。

1
2
int[] numbers = { 5, 3, 1, 4, 2 };
Array.Sort(numbers); // 排序后的结果: { 1, 2, 3, 4, 5 }

**Array.Reverse**:反转数组中的元素顺序。

1
2
int[] numbers = { 1, 2, 3, 4, 5 };
Array.Reverse(numbers); // 反转后的结果: { 5, 4, 3, 2, 1 }

**Array.Find**:查找数组中第一个满足条件的元素。

1
2
int[] numbers = { 1, 2, 3, 4, 5 };
int result = Array.Find(numbers, x => x > 3); // result = 4

**Array.Exists**:检查数组中是否存在满足条件的元素。

1
bool exists = Array.Exists(numbers, x => x > 3); // exists = true

**Array.Clear**:清除数组中的元素,将指定范围的元素设置为其默认值。

1
2
int[] numbers = { 1, 2, 3, 4, 5 };
Array.Clear(numbers, 1, 3); // 清除从索引1开始的3个元素,结果: { 1, 0, 0, 0, 5 }

**Array.IndexOf**:查找指定元素在数组中的索引位置。

1
2
int[] numbers = { 1, 2, 3, 4, 5 };
int index = Array.IndexOf(numbers, 3); // index = 2

**Array.LastIndexOf**:查找指定元素在数组中最后出现的位置。

1
2
int[] numbers = { 1, 2, 3, 2, 1 };
int lastIndex = Array.LastIndexOf(numbers, 2); // lastIndex = 3

**Array.Resize**:调整数组的大小。

1
2
int[] numbers = { 1, 2, 3 };
Array.Resize(ref numbers, 5); // numbers: { 1, 2, 3, 0, 0 }

**Array.BinarySearch**:对排序后的数组执行二分搜索,查找指定元素的位置。

1
2
int[] numbers = { 1, 2, 3, 4, 5 };
int index = Array.BinarySearch(numbers, 3); // index = 2

**Array.Fill**:用指定的值填充数组中的所有元素。

1
2
int[] numbers = new int[5];
Array.Fill(numbers, 7); // 数组填充为: { 7, 7, 7, 7, 7 }

**Array.CopyTo**:将数组的元素复制到目标数组的指定位置。

1
2
3
int[] source = { 1, 2, 3 };
int[] destination = new int[5];
source.CopyTo(destination, 2); // 目标数组: { 0, 0, 1, 2, 3 }

**Array.Sort**(重载):提供更多排序选项,比如自定义比较器。

1
2
string[] names = { "Alice", "Bob", "Charlie" };
Array.Sort(names, (a, b) => a.Length.CompareTo(b.Length)); // 根据字符串长度排序

**Array.ConvertAll**:将数组中的每个元素转换为另一个类型的数组。

1
2
string[] stringNumbers = { "1", "2", "3" };
int[] intNumbers = Array.ConvertAll(stringNumbers, s => int.Parse(s));

**Array.TrueForAll**:检查数组中的所有元素是否满足指定条件。

1
2
int[] numbers = { 1, 2, 3, 4, 5 };
bool allEven = Array.TrueForAll(numbers, x => x % 2 == 0); // false

**Array.FindLast**:查找数组中最后一个满足条件的元素。

1
2
int[] numbers = { 1, 2, 3, 4, 5 };
int lastEven = Array.FindLast(numbers, x => x % 2 == 0); // lastEven = 4

**Array.FindAll**:查找所有满足条件的元素,并返回一个新数组。

1
2
int[] numbers = { 1, 2, 3, 4, 5 };
int[] evenNumbers = Array.FindAll(numbers, x => x % 2 == 0); // evenNumbers: { 2, 4 }

**Array.IndexOf**(重载):提供更多索引查找选项,例如从指定索引位置开始查找。

1
2
int[] numbers = { 1, 2, 3, 4, 5 };
int index = Array.IndexOf(numbers, 4, 2); // 从索引2开始查找,结果 index = 3

**Array.LastIndexOf**(重载):提供更多索引查找选项,例如从指定索引位置开始向前查找。

1
2
int[] numbers = { 1, 2, 3, 2, 1 };
int lastIndex = Array.LastIndexOf(numbers, 2, 3); // 从索引3向前查找,结果 lastIndex = 1

Array.GetValue 和 **Array.SetValue**:获取和设置数组中的元素。

1
2
3
int[,] matrix = { { 1, 2 }, { 3, 4 } };
object value = matrix.GetValue(1, 1); // 获取位置 (1, 1) 的值,即 4
matrix.SetValue(10, 0, 0); // 将位置 (0, 0) 的值设置为 10

**Array.CreateInstance**:创建一个指定类型和维度的数组实例。

1
2
csharp
Array array = Array.CreateInstance(typeof(int), 2, 3);