集合一 Array
集合
1. Array 类
Array arr = Array.CreateInstance(typeof(string), 3);
arr.SetValue("lisi", 0);
arr.SetValue("zhangsan", 1);
arr.SetValue("lili", 2);
foreach (var item in arr)
{
Console.WriteLine(item);
}
string[] strArr = (string[])arr;
foreach (var item in strArr)
{
Console.WriteLine(item);
}
Array.ForEach(strArr, Console.WriteLine);
lisi
zhangsan
lili
1.1 搜索
- IndexOf / LastIndexOf 从头往后找 / 从后往前找
- Find / FindLast / FindIndex / FindAll / Exists / TrueForAll
- BinarySearch 二叉查找
string[] names = { "lisi", "xiaoli", "andy", "lucy" };
int los = Array.IndexOf(names, "andy");
int Llos = Array.LastIndexOf(names, "andy");
Console.WriteLine(los);
Console.WriteLine(Llos);
string? temps = Array.Find(names, n => n.Contains('a'));
Console.WriteLine(temps);
string? templ = Array.FindLast(names, n => n.Contains('a'));
Console.WriteLine(templ);
string[] tempstr = Array.FindAll(names, n => n.Contains('a'));
Array.ForEach(tempstr, Console.WriteLine);
bool isExists = Array.Exists(names, n => n.Contains('a'));
Console.WriteLine(isExists);
bool isTrueAll = Array.TrueForAll(names, n => n.Contains('a'));
Console.WriteLine(isTrueAll);
string[] nas = { "andy", "sandy" };
bool isNasAll = Array.TrueForAll(nas, n => n.Contains('a'));
Console.WriteLine(isNasAll);
int biLos = Array.BinarySearch(names, "xiaoli");
Console.WriteLine(biLos);
1.2 排序
int[] numbers = { 1, 3, 2};
string[] words = { "yi", "san", "er" };
Array.Sort(numbers);
Array.ForEach(numbers, Console.Write);
Array.Sort(numbers, words);
Array.ForEach(numbers, Console.Write);
Array.ForEach(words, Console.Write);
1.3 翻转
int[] numbers = { 1, 3, 2};
string[] words = { "yi", "san", "er" };
Array.Reverse(numbers);
Array.ForEach(numbers, Console.Write);
1.4 转换
float[] fls = { 1.5f, 2.3f, 2.5f };
int[] ints = Array.ConvertAll(fls, r => Convert.ToInt32(r));
Array.ForEach(ints, Console.Write);