编程语言
首页 > 编程语言> > C#数组查找元素

C#数组查找元素

作者:互联网

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

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
⽅法。

输出效果

标签:intArr,Console,数组,WriteLine,C#,查找,value2,value1,Array
来源: https://www.cnblogs.com/guangzhiruijie/p/16142957.html