1、Array.Fill()
快速在某个数组中填充某个值,
a、Fill( T[] array ,T value ,Int start,int count)
注:四个参数,将数据value 从start 位置开始,一共填充count 个,填充进数组 array中
b、Fill(T[] array,T value)
注:两个参数,将数据value 填充进数组array中,所有值相同
2、Int[] 数组操作
a、求和
int[] array;
int y = array.Sum(x => x);
=> : lumada 表达式的标志,
=>后面跟待执行的运算 ,x =>x 表示x ==x ;求array 里面所有值 x 的和
如果是 int y=array.Sum(x=>x=1),求array 的和,但是把每一个元素当作1来进行运算,不改变原始array
b、求指定的元素个数
int z = array.Where(x=>x > 0).Count();
求array 数组中x>0的元素数
c、排序
eg: int[] value
Array.Sort(value);
value.Sort();
Array.Sort(value(int a, int b)):可以对ab 范围内数据进行升序牌系列
注:默认是按照升序排序,降序排序可以借助lamda 表达式,或者利用sort升序后,再结合Array.Reverse(value)进行翻转实现降序
d、删除数组中相关数据
int[] value;int a ;
删除value中idx=a 的数据
int[] value1=value.Where(value.ToList().IndexOf(s) != a ).ToArray();
删除value中值等于a 的数据
int[] value1=value.Where(val=>val!=a).ToArray();
e、将一个数组中的值复制给另一个数组
Array.Copy(Arra1,int a,Array2,int b,int c) :将Array1从a 位置开始的数组复制到Array2 从0开始的位置,复制的长度为n
Copy(Array1, Array2, Int32 c):将Array1 从第一个元素起复制到Array2的第一个元素,复制长度为c
f、获取一组数据中的最小值
int[] Value1
Value1.Min();
3、Array.Clear()
清除数组的元素值,并替换成默认值,数组的长度不变
eg:int[] arr=new int[5]{1,2,3,4,5}
Array.Clear(arr)
则 arr={0,0,0,0,0}
Array.Clear(arr,1,2)
从index 1开始,清除两个元素
则arr={1,0,0,4,5}
4、随机选择数组中的某个元素
利用random类的next函数
Next() | 返回一个非负随机整数。 |
Next(Int32) | 返回一个小于所指定最大值的非负随机整数。 |
Next(Int32, Int32) | 返回在指定范围内的任意整数。 |
static int GetRandomNumber(int[] a)
{
Random rnd = new Random();
//new 一个Random 的类
int index = rnd.Next(a.Length);
//利用Random的next 函数随机生成一个小于a.Length的非负整数
return a[index];
//返回a数组中随机index的值
}