c#基础之数组

最近复习了一下c#基础,做点笔记吧。

首先定义数组:

int[] arr = {100,10,12,231,123,1,23,43,5,4,65,76,768,87,1412};
int[] arrref = { 132, 4, 12, 3, 3, 4, 1, 98 };
string[] strArr = {"","","","","",""};

获取数组的最大值和最小值:

var max = Array.FindIndex(arr, a => a == arr.Max());
var min = Array.FindIndex(arr, a => a == arr.Min());

将数组排序:(最好只对整型或者浮点型数组使用)

//从小到大排序
Array.Sort(arr);
//反转数组,从大到小排序,必须先从小到大排序一遍
Array.Reverse(arr);

生成只读数组对象:(保证调用数组的时候不会对数组进行改动)

var arrReadOnly = Array.AsReadOnly(arr);

返回数组中值的位置:(如果不在数组中则返回-1)

var index10 = Array.IndexOf(arr,10);

将数组的大小重新定义:

Array.Resize(array: ref arr, newSize: 100);

筛选数组:

//筛选并返回所有符合条件的数组成员
var i = Array.FindAll(arr, check);
//筛选并返回第一个符合条件的数组成员
var ii = Array.Find(arr, check);
//返回第一个符合条件的数组成员下标
var iLindex = Array.FindIndex(arr, check);
//返回最后一个符合条件的数组成员下标
var ii = Array.FindLastIndex(arr, check);
//返回最后一个符合条件的数组成员
var iLast = Array.FindLast(arr,check);
//筛选数组中所有大于10的值
 public bool check(int a)
        {
            if (a >10)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
 //这个也可以筛选数组
var qq = arr.Where(q => q>10);

连接两个数组:

var ConcatArr = arr.Concat(arrref);

获取数组中的所有不同元素并返回数组:

var disArr =  ConcatArr.Distinct();

求两个数组的差集:

 var exc = ConcatArr.Except(arrref);

求数组的并集:

var  uni = arr.Union(arrref);
原文地址:https://www.cnblogs.com/yuchenghao/p/8658350.html