PDA

View Full Version : حرفه ای: جستجوی بهینه در یک آرایه خیلی سنگین از نوع String



sagggad
سه شنبه 08 بهمن 1392, 10:35 صبح
با سلام
دو آرایه داریم با حجم بسیار بالا (نزدیک هفتادهزار خونه داره توش و همش هم مقدار داره)
حالا میخوام چک کنم ببینم آیا داخل این آرایه فلان متن هست یا نه؟؟
با حلقه فور این کار رو انجام میدم ولی به دلیل سنگینی آرایه خیلی طول میکشه
این آرایه من:

public ArrayList lst1 = new ArrayList();
حالا اون رو دارای هفتادهزار مقدار میکنم
بهترین نحوه جستجو در این آرایه چیه؟
من یه دستور مثل FindString میخوام
سریع باشه
ممنون

Boy_nn
سه شنبه 08 بهمن 1392, 10:45 صبح
var listF= list.Where(x => x.Name.Contains("متغیر"));

sagggad
سه شنبه 08 بهمن 1392, 10:50 صبح
این کد عمل نمیکنه برام :افسرده:

Boy_nn
سه شنبه 08 بهمن 1392, 10:53 صبح
باید اطلاعاتتو توی لیست بریزی بعد به روش بالا فیلتر کنی

Felony
سه شنبه 08 بهمن 1392, 10:56 صبح
بهتره به جای آرایه از List استفاده کنید ، اگر اصرار به استفاده از آرایه دارید بسته به متحویات آرایه میتونید الگوریتم های مختلفی رو خودتون پیاده کنید ، مثلا اگر محتوای آرایتون عددی هست میتونید جستجوی باینری براش بنویسید و ...

sagggad
سه شنبه 08 بهمن 1392, 11:07 صبح
میشه بگید چه نوع لیستی و چه جوری؟

Felony
سه شنبه 08 بهمن 1392, 11:27 صبح
var myList = new List<string>();

for (var i = 0; i < 1000000; i++)
{
myList.Add(i.ToString());
}


MessageBox.Show(myList.Find(x => x.Contains("999874")));
MessageBox.Show(myList.BinarySearch("999874").ToString());