PDA

View Full Version : نحوه دسترسی به اشیا



Rainmater
پنج شنبه 08 اردیبهشت 1390, 11:32 صبح
با سلام
چطوری میشه وقتی با یک حلقه 100 شی از یک کلاس میسازیم،در بیرون برنامه به شی ها دسترسی پیدا کرد؟
برای مثال:
for(i=0;i<100;i++)
{
myclass obj=naw myclass()
}
در بیرون از حلقه obj به آخرین شی اشاره میکند.
حال اگر بخواهیم به 99 شی دیگر دسترسی پیدا کنیم راه حل چیست؟
سوال 2:آیا میشه نام رفرنس(در اینجا obj) رو یک متغیر در نظر گرفت؟مثلا
هر مقداری که در یک متغیر string ذخیره شده ،رو به عنوان نام رفرنس قرار داد؟
با تشکر

unknown.unforgiven
پنج شنبه 08 اردیبهشت 1390, 11:54 صبح
سلام
تو این حلقه شما فقط 1 شی ساختید و همون یکی رو 100 بار new کردید. اگر میخواید 100 تا شی بسازید باید از آرایه استفاده بکنید. در مورد سوال دومتون تا اونجایی که من خبر دارم نمیشه

exlord
پنج شنبه 08 اردیبهشت 1390, 15:16 عصر
سلام
تو این حلقه شما فقط 1 شی ساختید و همون یکی رو 100 بار new کردید.
کاملا اشتباهه ... 100 تا شی ساخته شده ولی فقط یدونه Reference هست برا همین فقط به آخری اشاره میکنه ...
سوال 2 : خیر نمیشه ... البته اگه قبلا یه object رو ساختین با استفاده از اسم Reference اون به صورت string میتونین به اون Object دسترسی داشته باشین ولی در این مورد نه ...

براین اینکارتون از List استفاده کنین و اگه میخواین که یه اسم بخصوص رو به هر object ساخته شده نسبت بدین از Dictionary استفاده کنین ...
List<object> objs = new List<object>();
for (int i = 0; i < 100; i++)
{
objs.Add(new object());
}

objs[0]
objs[1]
objs[2]

Dictionary<string, object> objs = new Dictionary<string, object>();
for (int i = 0; i < 100; i++)
{
objs.Add("string" + i, new object());
}

object o1 = objs["string1"];
object o2 = objs["string2"];