C#数组查找元素

包括通过查找数组中某个元素的下标(第⼀次出现时的下标,最后⼀次出现时的下标),查找某个数组中是否有某元素。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study1_repeat
{
class Program
{
static void Main(string[] args)
{
int[] intArr = { 1, 2, 3, 4, 5, 6, 3, 5, 3 };
int value1 = 3;
int value2 = 8;
int first1 = Array.IndexOf(intArr, value1);
//查找value1第⼀次出现的索引
int first2 = Array.IndexOf(intArr, value2);
int end1 = Array.LastIndexOf(intArr, value1);
int end2 = Array.LastIndexOf(intArr, value2);
//查找最后⼀次出现的索引
int result1 = Array.BinarySearch(intArr, value1);
int result2 = Array.BinarySearch(intArr, value2);
//查找value1第⼀次出现的索引,这个⽅法采⽤⼆分法搜索。
bool contain1;
bool contain2;
//定义两个布尔值。
if (((System.Collections.IList)intArr).Contains(value1))
{
contain1 = true;
}
else {
contain1 = false;
}
if (((System.Collections.IList)intArr).Contains(value2)) {
contain2 = true;
}
else
{
contain2 = false;
}
//将结果输出出来
Console.WriteLine("数组中的⼀个{0}的下标为:{1}", value1, first1);
Console.WriteLine("数组中的⼀个{0}的下标为:{1}", value2, first2);
Console.WriteLine("数组中的最后⼀个{0}的下标为:{1}", value1, end1);
Console.WriteLine("数组中的最后⼀个{0}的下标为:{1}", value2, end2);
Console.WriteLine("数组中{0}的下标为:{1}", value1, result1);
Console.WriteLine("数组中{0}的下标为:{1}", value2, result2);
if (contain1)
{
Console.WriteLine("数组中包含{0}", value1);
}
else {
Console.WriteLine("数组中不包含{0}", value1);
}
if (contain2)
{Console.WriteLine("数组中包含{0}", value2);
}
else
{
Console.WriteLine("数组中不包含{0}", value2);
}
Console.ReadLine();
}
}
}

  

Array.IndexOf(intArr, value1)、Array.LastIndexOf(intArr, value1)、Array.BinarySearch(intArr, value2)在找到相应的元素时
会返回找到的元素的下标,如果没有找到的话,前两者会返回-1,最后⼀种会返回⼀个负数。
Array的Constains⽅法(⽤来查找某个元素是否存在)是对IList中的⽅法的实现,所以在使⽤时要先将其转换为IList对象,转换格式
为((System.Collections.IList)intArr).Contains(元素)
其中(System.Collections.IList)intArr是将intArr强制转化为IList类型,再外⾯的括号是为了将转化后的作为⼀个整体调⽤constains
⽅法。

输出效果

posted @   多见多闻  阅读(1659)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示