آرایه ها لیستی از داده های هم نوع است، هرجا از آرایه ها استفاده می کنیم نیاز به جستجو استفاده از عناصر آرایه هم داریم. در این آموزش با استفاده از کلاس array در سی شارپ انواع جستجوی که می توانیم بر روی آرایه ها در سی شارپ انجام دهیم را بررسی می کنیم.
جستجو در آرایه با استفاده از متد Find
با استفاده از متد Find() از کلاس array می توانیم جستجو در آرایه ها را انجام دهیم. این متد یک ارایه از ورودی دریافت می کند و با عبارات لامبدا در پارامتر ورودی دوم این متد نحوه جستجو را مشخص می کنیم. این متد در عناصر آرایه اولین عنصری را که شرایط جستجو شده را داشته باشد بر می گرداند.
string[] persons = new string[] { "ehsan", "mayasam", "jamshid", "samyar", "sasan", "ahora" };
var search1 = Array.Find(persons, p => p == "ehsan");
var search2 = Array.Find(persons, p => p.StartsWith("s"));
Console.WriteLine(search1);
Console.WriteLine(search2);
Console.ReadKey();
خروجی
ehsan
samyar
جستجو در آرایه با استفاده از متد FindAll
متد FindAll همانند متد Find عمل می کند با این تفاوت که Find فقط اولین عنصر را بر می گرداند ولی متد FindAll تمامی عناصری که شرایط را داشته باشند برمی گرداند. خروجی این متد نیز خود یک آرایه است، کد زیر یک مثال از این جستجو است که خروجی آن را با یک foreach نمایش می دهیم.
string[] persons = new string[] { "ehsan", "mayasam", "jamshid", "samyar", "sasan", "ahora" };
var search1 = Array.FindAll(persons, p => p.StartsWith("s"));
foreach (var item in search1)
{
Console.WriteLine(item);
}
Console.ReadKey();
خروجی
samyar
sasan
جستجو در آرایه با استفاده از متد FindLast
متد FindLast دقیقا همانند متد Find عمل می کند با این تفاوت که این متد آخرین عنصر یافت شده را بر می گرداند.
string searchFindLast = Array.FindLast(persons, p => p.StartsWith("s"));
جستجو در آرایه با استفاده از متد FindIndex
متد FindIndex جستجو را در آرایه انجام میدهد و Index اولین عنصری را که پیدا کند بر می گرداند.
int searchFindIndex = Array.FindIndex(persons, p => p.StartsWith("s"));
جستجو در آرایه با استفاده از متد FindLastIndex
این متد همانند FindIndex عمل می کند با این تفاوت که Index آخرین عنصر یافت شده را بر می گرداند.
int searchFindLastIndex = Array.FindLastIndex(persons, p => p.StartsWith("s"));
برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربریتان شوید