C# 集合(一) —— Array类

作者 : admin 本文共1886个字,预计阅读时间需要5分钟 发布时间: 2024-06-17 共1人阅读

总目录
C# 语法总目录

集合一 Array

  • 集合
    • 1. Array 类
      • 1.1 搜索
      • 1.2 排序
      • 1.3 翻转
      • 1.4 转换

集合

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" };
//IndexOf
int los = Array.IndexOf(names, "andy");
int Llos = Array.LastIndexOf(names, "andy");
Console.WriteLine(los);
Console.WriteLine(Llos);
//Find
string? temps = Array.Find(names, n => n.Contains('a'));
Console.WriteLine(temps);
//xiaoli
string? templ = Array.FindLast(names, n => n.Contains('a'));
Console.WriteLine(templ);
//andy
//FindAll
string[] tempstr = Array.FindAll(names, n => n.Contains('a'));
Array.ForEach(tempstr, Console.WriteLine);
//xiaoli
//andy
//Exists
bool isExists = Array.Exists(names, n => n.Contains('a'));
Console.WriteLine(isExists);
//True
//TrueForAll  是不是所有的都满足条件
bool isTrueAll = Array.TrueForAll(names, n => n.Contains('a'));
Console.WriteLine(isTrueAll);
//False
string[] nas = { "andy", "sandy" };
bool isNasAll = Array.TrueForAll(nas, n => n.Contains('a'));
Console.WriteLine(isNasAll);
//True
//BinarySearch
int biLos = Array.BinarySearch(names, "xiaoli");
Console.WriteLine(biLos);
//1

1.2 排序

int[] numbers = { 1, 3, 2};
string[] words = { "yi", "san", "er" };
Array.Sort(numbers);
Array.ForEach(numbers, Console.Write);
//123
//第一个数组的排序,同时应用到第二个数组
Array.Sort(numbers, words);
Array.ForEach(numbers, Console.Write);
Array.ForEach(words, Console.Write);
//123yiersan

1.3 翻转

int[] numbers = { 1, 3, 2};
string[] words = { "yi", "san", "er" };
Array.Reverse(numbers);
Array.ForEach(numbers, Console.Write);
//231

1.4 转换

float[] fls = { 1.5f, 2.3f, 2.5f };
int[] ints = Array.ConvertAll(fls, r => Convert.ToInt32(r));
Array.ForEach(ints, Console.Write);
//222

总目录
C# 语法总目录

本站无任何商业行为
个人在线分享 » C# 集合(一) —— Array类
E-->