本文只列出部分常用操作。
Array类
官方摘要:
提供一些方法,用于创建、处理、搜索数组并对数组进行排序,从而充当公共语言运行时中所有数组的基类。 若要浏览此类型的.NET Framework 源代码,请参阅Reference Source。
Rank
官方摘要:获取 System.Array 的秩(维数)。 例如,一维数组返回 1,二维数组返回 2,依次类推。
返回结果:System.Array 的秩(维数)。
简单理解:获取数组维数。
代码示例:
int[,] arr = new int[2, 3] { { 14, 25, 9 }, { 5, 74, 56 } };
Console.WriteLine(arr.Rank); ---> 2
LongLength
官方摘要:获取一个 64 位整数,该整数表示 System.Array 的所有维数中元素的总数。
返回结果:一个 64 位整数,表示 System.Array 的所有维数中元素的总数。
简单理解:获取数组长度,返回long。
代码示例:
int[] arr = new int[5] { 1,5,6,8,7};
Console.WriteLine(arr.LongLength); ---> 5
Length
官方摘要:获取 System.Array 的所有维度中的元素总数。
返回结果:System.Array 的所有维度中的元素总数;如果数组中无元素,则为零。
简单理解:获取数组长度,返回int。
代码示例:
int[] arr = new int[5] { 1, 5, 6, 8, 7 };
Console.WriteLine(arr.Length); ---> 5
BinarySearch
官方摘要:使用由数组中每个元素和指定对象实现的 System.IComparable 接口,在整个一维排序数组中搜索特定元素。
返回结果:如果找到 value,则为指定 array 中的指定 value 的索引;否则为负数。 如果找不到 value 且 value 小于 array 中的一个或多个元素,则返回的负数是大于value 的第一个元素的索引的按位求补。 如果找不到 value 且 value 大于 array 中的所有元素,则返回的负数是(最后一个元素的索引加1)的按位求补。 如果使用非排序的 array 调用此方法,返回值则可能不正确并且可能会返回负数,即使 value 存在于 array 中也是如此。
简单理解:二分法查询元素,找到则返回其下标,否则返回负数。使用前需对数组排序。
代码示例:
string[] arr = new string[5] { "a", "ab", "abc", "abcd","abcde" };
Console.WriteLine(Array.BinarySearch(arr, "abc")); ---> 2
//参数说明:
//arr:数组标识符
//"abc":查询元素
Clear
官方摘要:将数组中的某个范围的元素设置为每个元素类型的默认值。
简单理解:清除指定范围元素。
代码示例:
string[] arr = new string[5] { "a", "ab", "abc", "abcd","abcde" };
Array.Clear(arr,1,3);
foreach (var item in arr)
{
Console.WriteLine(item);
}
--->
a
abcde
//参数说明:
//arr:需要清除其元素的数组
//1:要清除的一系列元素的起始索引
//3:要清除的元素数
ConstrainedCopy
官方摘要:复制 System.Array 中的一系列元素(从指定的源索引开始),并将它们粘贴到另一 System.Array 中(从指定的目标索引开始)。 保证在复制未成功完成的情况下撤消所有更改。
简单理解:将某数组中指定范围元素复制到另一数组指定位置。
代码示例:
string[] arr1 = new string[3] { "cc", "dd", "ee"};
string[] arr2 = new string[5] { "aa", "bb", "c", "d", "e" };
Array.ConstrainedCopy(arr1, 0, arr2,2,3);
foreach (var item in arr2)
{
Console.WriteLine(item);
}
--->
"aa"
"bb"
"cc"
"dd"
"ee"
//参数说明:
//arr1:包含要复制的数据的 System.Array(要被复制的数组)
//0:复制开始处的索引/下标
//arr2:接收数据的 System.Array(复制到的数组)
//2:存储开始处的索引/下标
//3:复制的元素数目
Copy
官方摘要:复制 System.Array 中的一系列元素,将它们粘贴到另一 System.Array 中。
简单理解:将某数组中指定范围元素复制到另一数组。
代码示例:
string[] arr1 = new string[3] { "aa", "bb", "cc"};
string[] arr2 = new string[3];
Array.Copy(arr1, arr2,2);
foreach (var item in arr2)
{
Console.WriteLine(item);
}
--->
aa
bb
//参数说明:
//arr1:要复制的数据的数组
//arr2:接收数据的数组
//2:要复制的元素数目
string[] arr1 = new string[3] { "aa", "bb", "cc"};
string[] arr2 = new string[3];
Array.Copy(arr1,1,arr2,0,2);
foreach (var item in arr2)
{
Console.WriteLine(item);
}
--->
bb
cc
//参数说明:
//arr1:要复制的数据的数组
//1:复制开始处的arr1中的索引/下标
//arr2:接收数据的数组
//0:存储开始处的arr2中的索引/下标
//2:要复制的元素数目
IndexOf
官方摘要:在一个一维数组中搜索指定对象,并返回其首个匹配项的索引。
简单理解:查找元素,返回下标。
代码示例:(多种重载,不一一列出)
string[] arr1 = new string[3] { "aa", "bb", "cc" };
Console.WriteLine(Array.IndexOf(arr1, "bb")); ---> 1
LastIndexOf
官方摘要:搜索指定的对象,并返回一维 System.Array 中从第一个元素到指定索引的元素范围内最后一个匹配项的索引。
简单理解:从后查找元素,返回下标。
代码示例:(其它重载,不一一列出)
string[] arr1 = new string[4] { "aa", "bb", "bb" , "cc" };
Console.WriteLine(Array.LastIndexOf(arr1, "bb")); ---> 2
Resize
官方摘要:将一维数组的元素数更改为指定的新大小。
简单理解:更改数组长度。
代码示例:
string[] arr = new string[4] { "aa", "bb", "cc" , "dd" };
Array.Resize(ref arr,5);
arr[4] = "ee";
foreach (var item in arr)
{
Console.WriteLine(item);
}
--->
aa
bb
cc
dd
ee
Reverse
官方摘要:反转一维 System.Array 中全部或某部分元素的元素顺序。
简单理解:元素反转,交换位置。
代码示例:
string[] arr = new string[5] { "aa", "bb", "cc" , "dd" ,"ee"};
Array.Reverse(arr,1,4);
foreach (var item in arr)
{
Console.WriteLine(item);
}
--->
aa
ee
dd
cc
bb
Sort
官方摘要:使用 System.Array 中每个元素的 System.IComparable 实现,对整个一维 System.Array 中的元素进行排序。
简单理解:为数组元素排序。
代码示例:(其它重载,不一一列出)
int[] arr = new int[5] { 5, 3, 4 , 1 ,2};
Array.Sort(arr);
foreach (var item in arr)
{
Console.WriteLine(item);
}
--->
1
2
3
4
5
CopyTo
官方摘要:从指定的目标数组索引处开始,将当前一维数组的所有元素复制到指定的一维数组中。
简单理解:将一数组所有元素复制到另一数组指定位置。
代码示例:
int[] arr1 = new int[3] { 5, 4, 3 };
int[] arr2 = new int[5];
arr1.CopyTo(arr2,1);
foreach (var item in arr2)
{
Console.WriteLine(item);
}
--->
0
5
4
3
0
GetLength/GetLongLength
官方摘要:获取一个 32/64 位整数,该整数表示 System.Array 的指定维中的元素数。
简单理解:获取数组指定维元素个数。
代码示例:
int[,,] arr1 = new int[2,3,4];
Console.WriteLine(arr1.GetLength(0));
Console.WriteLine(arr1.GetLength(1));
Console.WriteLine(arr1.GetLength(2));
--->
2
3
4
GetValue
官方摘要:获取System.Array 中指定位置的值。
简单理解:获取数组指定下标的元素。
代码示例:(其它重载,不一一列出)
int[,] arr = new int[2, 3] { {2,3,4 },{5,6,7 } };
Console.WriteLine(arr.GetValue(1,1));
--->
6
SetValue
官方摘要:更改System.Array 中指定位置的值。
简单理解:更改数组指定下标的元素。
代码示例:(其它重载,不一一列出)
int[,] arr = new int[2, 3] { {2,3,4 },{5,6,7 } };
arr.SetValue(8,1,1);
Console.WriteLine(arr[1,1]);
--->
8
Enumerable类
Contains
官方摘要:确定序列是否包含指定的元素使用的默认相等比较器。
简单理解:判断数组是否包含指定元素。
代码示例:
int[] arr = new int[3] {5,6,7};
Console.WriteLine(arr.Contains(8));
--->
False
Sum
官方摘要:确定序列是否包含指定的元素使用的默认相等比较器。
简单理解:求和
Max
官方摘要:返回序列中的最大值。
简单理解:求最大值
Min
官方摘要:返回序列中的最小值。
简单理解:求最小值
Average
官方摘要:计算序列的平均值。
简单理解:求平均值
代码示例:
int[] arr = new int[3] {5,6,7};
Console.WriteLine(arr.Sum());
Console.WriteLine(arr.Max());
Console.WriteLine(arr.Min());
Console.WriteLine(arr.Average());
--->
18
7
5
6
Count
官方摘要:返回序列中的元素数。
简单理解:获取长度,数组中只有一维数组可用。
代码示例:
int[] arr = new int[3];
Console.WriteLine(arr.Count());
--->
3