PDA

View Full Version : سوال: روش خوندن ArrayList



alismith
یک شنبه 15 دی 1392, 14:46 عصر
سلام

لطفا روش خوندن ArrayList با مثال توضیح میدید؟

فرض کنید این ArrayList باشه :

ArrayList foo = ArrayList();

ArrayList bar = ArrayList();

foo.add("car"); //string
foo.add(44); //integer

bar.add(foo);

foo.clear();

foo.add("car2"); //string
foo.add(33); //integer

bar.add(foo);


لطفا روش خوندن این ArrayList توضیح دهید به طوری که هربار که یک خانه از bar خوانده میشه، بشه خونه های foo را با هم چاپ کرد، منظورم اینه که نمیخام 2تا foreach بذاریم و تک تک خونه های foo رو چاپ کنیم بلکه میخام مثل آرایه با اندیس (ایندکس) و به صورت دستی این کارو انجام بدم

مثلا اینجوری :

foreach(Array arr in bar){
Console.WriteLine(arr[0]);
Console.WriteLine(arr[1]);
}

اما نمی دونم این روش درسته یا با هربار اجرای FOR یک object بر میگرده.

لطفا توضیح بدید برای انجام این کار روش درست چی هستش؟

من آشنایی زیادی با زبان C#‎ ندارم


باتشکر

Mousavmousab
یک شنبه 15 دی 1392, 17:19 عصر
سلام

اگه بخوای مقادیری را به آرایه اضافه کنی و بعد مستقیماٌ بگی خانه شماره فلان چه مقداری است ، به این شکل بنویس:

1
List<int> lst = new List<int>();

lst.Add(10);

int a = lst[10];

alismith
یک شنبه 15 دی 1392, 22:07 عصر
نه مهندس سوال من این نبود

می خاستم بدونم روش من تو خوندن ArrayList که تو حلقه foreach نوشتم درست هستش یا نه ؟

alismith
دوشنبه 16 دی 1392, 10:12 صبح
این به ذهنم رسید :

foreach(Array arr in bar){
Console.WriteLine(((var) arr[0]));
Console.WriteLine(((var) arr[1]));
}

درسته ؟

alismith
دوشنبه 16 دی 1392, 13:09 عصر
واقعا کسی نیست جواب بده؟!

دلتنگ اسمان
دوشنبه 16 دی 1392, 14:25 عصر
سلام .
اینطوری میتونی جواب بگیری :

ArrayList foo =new ArrayList();

ArrayList bar = new ArrayList();

foo.Add("car"); //string
foo.Add(44); //integer

bar.Add(foo);

foo.Clear();

foo.Add("car2"); //string
foo.Add(33); //integer

bar.Add(foo);

foreach (ArrayList arr in bar)
{

Console.WriteLine(((ArrayList)arr[0]));
Console.WriteLine(((ArrayList)arr[1]));
}

Mousavmousab
دوشنبه 16 دی 1392, 14:26 عصر
من آخر متوجه نشدم که این کد چه کمکی می تونه بکنه ؟


الان اگه لیست شما مثلاٌ 10 تا عنصر داشته باشه این حلقه foreach ده بار اجرا میشه و هر بار که اجرا میشه فقط arr[0] و یک را می خونه ؟
چه کاریه ؟

Mousavmousab
دوشنبه 16 دی 1392, 14:30 عصر
ممنون از راهنماییتان

دلتنگ اسمان
دوشنبه 16 دی 1392, 21:15 عصر
اینطوری راضی میشین؟

int rt=0;

foreach (ArrayList arr in bar)
{

Console.WriteLine(((ArrayList)arr).ToArray().GetVa lue(rt));
rt++;

}