PDA

View Full Version : سوال: چطور میشه یک آبجکت رو در یک لوپ به تعداد لوپ با نام های مختلف ایجاد کرد



ali1564
شنبه 11 اردیبهشت 1389, 05:48 صبح
سلام به همه دوستان
سوال من این هست که مثلا اگه یک لوپ 100تایی داشته باشیم چطور میشه با استفاد از اعداد لوپ ابجکت هایی متفاوت ایجاد کنیم، برای مثال کد پایین رو ببینید:

public class ObjectTest {
public static void main(String[] args) {

for(int i = 0; i < 100; i++) {
string obj = i.toString();
Object obj = new Object();
}
}
}
همانطور که خودتون هم می دونید یک متغیر رو نمیشه به عنوان اسم ابجکت نوشت برای همین من دنبال راهی هستم که به طریقی بشه این کار رو کرد، که دیگه نیازی نباشه 100 بار یک ایجکت رو دستی ایجاد کنیم.

ممنون از همه دوستان

اَرژنگ
شنبه 11 اردیبهشت 1389, 07:02 صبح
سلام به همه دوستان
سوال من این هست که مثلا اگه یک لوپ 100تایی داشته باشیم چطور میشه با استفاد از اعداد لوپ ابجکت هایی متفاوت ایجاد کنیم، برای مثال کد پایین رو ببینید:

public class ObjectTest {
public static void main(String[] args) {

for(int i = 0; i < 100; i++) {
string obj = i.toString();
Object obj = new Object();
}
}
}
همانطور که خودتون هم می دونید یک متغیر رو نمیشه به عنوان اسم ابجکت نوشت برای همین من دنبال راهی هستم که به طریقی بشه این کار رو کرد، که دیگه نیازی نباشه 100 بار یک ایجکت رو دستی ایجاد کنیم.

ممنون از همه دوستان
نمیدونم مشکل اصلی چیه، ولی برایه شروع از آرایه استفاده کن.

ali1564
شنبه 11 اردیبهشت 1389, 07:24 صبح
نمیدونم مشکل اصلی چیه، ولی برایه شروع از آرایه استفاده کن.

مشکل اینجاست که نمیشه نام متغیر رو به عنوان اسم object انتخاب کرد
برنامه اررور میده
من در واقع دنبال یه چیزی شبیه Object Generator میگردم که خودش بتونه اوتوماتیک ابجکت تولید کنه بدون اینکه خودمون دستی بهش اسم بدیم

اَرژنگ
شنبه 11 اردیبهشت 1389, 09:37 صبح
مشکل اینجاست که نمیشه نام متغیر رو به عنوان اسم object انتخاب کرد
برنامه اررور میده
من در واقع دنبال یه چیزی شبیه Object Generator میگردم که خودش بتونه اوتوماتیک ابجکت تولید کنه بدون اینکه خودمون دستی بهش اسم بدیم

۱.شما یک مشکلی در ذهنتان مجسم کردید ، برایه اینکه بقیه بتونند کمکتان کنند یکمی توضیح بدید.
۲.اسمه ابجکت یعنی چی؟ کار با آرایه و لیست را امتحان کردید؟ اگر لیست یکسری ابجکت در اختیارتان است و به هرکدام با اسم میخاهید کار کنید به دیکشنری نگاه بندازید.

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

exlord
شنبه 11 اردیبهشت 1389, 09:52 صبح
Dictionary<string, object> objects = new Dictionary<string, object>();
for (int i = 0; i < 20; i++)
{
objects.Add("obj" + i, new object());
}

object obj2 = objects["obj1"];

zizi_zizi69
شنبه 25 اردیبهشت 1389, 01:34 صبح
سلام

آخرش تونستم اون چیزی را که می خواستم در این تاپیک پیدا کنم.
واقعا جستجو در این سایت خیلی سخته،اینقدر باید کلمات مختلفی که به ذهنت می رسه چک کنی تا ببینی اون چیزی که می خوای هست یا نه!!؟
در هر حال
من هم میخواستم آرایه هایی با نامهای مختلف در یک یک loop ایجاد کنم،درست یا غلط بودنش را مطمئن نیستم،ولی چون این آرایه ها باید به عنوان value های یک hashtable باشه در loop که پر شد به نظرم میاد مشکلی در دسترسی خارج از loop نخواهم داشت،


arraylist = (ArrayList)hshTable[key];


امیدوارم منظورم را متوجه شده باشید.

میشه در مورد Dictionary type و این کد رو نوشتین یکم توضیح بدین.
ممنون

hojjatshariffam
شنبه 25 اردیبهشت 1389, 01:44 صبح
اون جوری که من متوجه شدم دیکشنری خیلی بهتر بود برای کاربرد شما

zizi_zizi69
شنبه 25 اردیبهشت 1389, 11:30 صبح
دیکشنری خیلی بهتر بود برای کاربرد شما

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

hojjatshariffam
شنبه 25 اردیبهشت 1389, 11:51 صبح
ببینید ، دیکشنری یک نوع داده ای میباشد که شما می توانید اندیس آنرا(کلید آنرا) هر چی که دلتون می خواد بدین ، مثل آرایه می مونه با این تفاوت که بجای اندیس ها از کلید استفاده می کنید ، پیاده سازی آن مهم نیست که چطور بوده (منظورم از اینکه مهم نیست اصل Abstraction می باشد) ولی در کاربرد عملا مانند یک آرایه می باشد و شبیه یک متغیر با نام های متفاوت
یکم تو SMDN سرچ کن اگه نتونستی طرز بکار بردنشو یاد بگیری بگو تا یه مثال بزنیم (من یا دوستان دیگه )
موفق باشی

hojjatshariffam
شنبه 25 اردیبهشت 1389, 11:53 صبح
یکم تو SMDN سرچ کن اگه نتونستی طرز بکار بردنشو یاد بگیری بگو تا یه مثال بزنیم (من یا دوستان دیگه )


منظورم MSDN بود

zizi_zizi69
دوشنبه 27 اردیبهشت 1389, 01:07 صبح
سلام،
می تونید به من بگید که آیا می تونم value یک کلید خاص از دیکشنری را بدون حذف کردن کلید حذف کنم یا نه؟
یا باید یک دیکشنری جدید ایجاد کنم وشرط بزارم که فلان value را درون دیکشنری جدید نریز؟

میشه لطفا با مثال بگید و با بله و خیر جواب ندید.

ممنون

zizi_zizi69
دوشنبه 27 اردیبهشت 1389, 08:49 صبح
سلامی دوباره،
من مشکل remove را حل کردم ولی حالا این مشکل را دارم که وقتی داخل foreach یک key یا value را remove می کنم در اجرای IEnumenator.Movenext() مشکل پیدا میکنه و می گه چون dictionary تغییر کرده این پیغام را می ده.


Collection was modified; enumeration operation may not execute.

چکار کنم.